文档详情

微机原理习题课讲解.ppt

发布:2016-03-07约7.81千字共20页下载文档
文本预览下载声明
微机原理与应用 第4习题 物电学院 微机原理与应用 第4习题 物电学院 微机原理与应用 第4习题 物电学院 微机原理与应用 第4习题 第 4 章 汇 编 语 言 程 序 设 计 4.1 汇编语言程序及其开发方法(理解) 4.2 汇编语言源程序的结构(重点) 4.3 汇编语言常用伪指令(重点) 4.4 常数、变量及标号(重点) 4.5 表达式和运算符(重点) 4.7 基本结构程序设计(重点、难点) 4.8 数据的输入和输出(DOS功能调用) (理解) 4.9 高级汇编语言技术(了解) 习题4-1、4-2、4-3、4-4、4-7、4-8 、4-9、4-11 4-1 已知如下8086/8088 CPU汇编定义: VAR1 DB 4 VAR2 DB 10 CNST1 EQU 12 试指出下列指令的错误原因: (1)MOV CNST1 , CX (2)MOV VAR1 , AX (3)CMP VAR1 , VAR2 (4)CNST1 EQU 24 答: (1) 目的操作数不能是立即数; (2) VAR1单元定义为字节类型,而AX为字; (3) 8086/8088中两个内存单元不能直接比较; (4) 同一符号名不允许用EQU重复定义. 4-2 某人定义了如下8086/8088 CPU汇编数据段: DATA SEGMENT AT 1000H ORG 100H VAL1 DB 11H VAL2 DW 22H , 33H VAL3 DB 5 DUP (44H) DATA ENDS 试指明该数据段中偏移地址从100H到109H的各存贮单元的内容。 答: (100H)= 11H (101H)= 22H (102H)= 00H (103H)= 33H (104H)= 00H (105H)= 44H (106H)= 44H (107H)= 44H (108H)= 44H (109H)= 44H 4-3 对于下面的8086/8088 CPU汇编数据定义,写出其后的各条指令的执行结果。 DATA SEGMENT ORG 0100H AAAA DW 0A244H BBBB DB 33H,66H,92H,29H CCCC EQU WORD PTR BBBB DDDD DB ABCD EEEE EQU $-DDDD DATA ENDS (1) MOV AX , AAAA AL=( ) (2) MOV BX , CCCC BH=( ) (3) MOV DX , OFFSET DDDD DL=( ) (4) MOV CL , EEEE CL=( ) 44H 66H 06H 04H 4-4 编写8086/8088 CPU汇编程序,将内存从50000H到5FFFFH的每个单元均写入数55H,并再逐个单元读出比较,看写入的与读出的是否一致。若全对,则将AL置0;只要有错,则将AL置0FFH。 参考程序段如下: DATA SEGMENT AT 5000H ORG 0000H VARR DB 10000H DUP (55H) DATA ENDS STACK SEGMENT STACK STACK’ DB 100H DUP( ?) STACK ENDS CODE SEGMENT ASSUME CS:CODE , DS:DATA , SS:STACK START : MOV AX , DATA MOV DS , AX ;初始化段地址 MOV SI , OFFSET VARR;偏移地址送SI MOV CX , 0FFFFH ;设置循环次数 LOOP1: CMP BYTE PTR [SI] , 55H ;比较
显示全部
相似文档