汇编复习资料

汇编复习资料

1、6种常用的寻址方式:寄存器寻址方式、立即数寻址方式、直接寻址方式、寄存器间接寻址方式、寄存器相对寻址方式、基址变址寻址方式。
2、指令
(1) 传送类:
数据传送指令MOV
交换指令XCHG
装入有效地址指令LEA
注意,这三条指令对状态标志位无影响。
(2) 算术运算类:
加法指令ADD 带进位加法指令ADC 加1指令INC 减法指令SUB
带借位减法指令SBB 减1指令DEC
求负数补码指令NEG 比较指令CMP
无符号数乘法指令MUL(/IMUL)
无符号数除法指令DIV
(3) 位操作类:
逻辑与指令AND、逻辑或指令OR、逻辑异或指令XOR、逻辑非指令NOT、测试指令TEST;算术左移SAL、算术右移SAR、逻辑左移SHL、逻辑右移SHR、循环左移ROL、循环右移ROR、带进位循环左移RCL、带进位循环右移RCR等。
注意,要掌握逻辑运算指令和测试指令对状态标志位的影响。
(4) 标志位操作指令:
清除进位标志CLC
3、汇编语言中的常用运算符
(1) 算术运算符:+、-、〔 〕(下标运算)
(2) 数值返回运算符:SEG(段起始地址)、OFFSET(偏移地址)、TYPE(类型)、SIZE(字节数)、LENGTH(元素个数)。
(3) 属性运算符:PTR(WORD PTR[BX],即强制类型转换)
4、常用伪指令
(1) 符号定义伪指令:等值伪指令EQU、等号伪指令"="。
(2) 数据定义伪指令:DB、DW、DD
注意掌握如何使用数据定义伪指令来定义变量,以及为变量赋初值的表达式的几种形式:数值表达式、?表达式、字符串表达式、带DUP表达式。
(3) 段结构伪指令
要求掌握:段定义伪指令SEGMENT/ENDS、段寻址伪指令ASSUME、END伪指令在程序中的使用;汇编语言源程序的分段结构和段寄存器的装入。
(4) 定位伪指令ORG与$:在数据段中的使用。

CCCBB
DAA

PUSH 指令相对的类型是【字】
1、下列符合汇编语言语法要求的语句是:
C.TEST AL,10H,OR 45H
2、若执行LOOP AGAIN指令前,CX的值为0,则循环体重复执行的次数为(65536(即16^4))
3、已经指令IRET执行前,SP=20H,该指令执行后,SP的值应为(1AH)
4、当执行完下列指令序列后,标志位OF和CF的值分别为(0,1)
MOV AH,65H
SUB AH,73H
5、已知AX=0305H,则ADD执行后,AX的值为(0023H)
ADD:把AX中的非压缩BCD数调整为二进制数
即:AL<-(AH)*10+(AL) ;(AH)<-00
此题:03*10+05=35D=0023H
6、下列各组语句符合汇编语言语法要求的是()
D.DATA DW 'AB'
MOV AL,BYTE PTR DATA+2
7、若AL的第7位状态与BL的第7位状态相同(只有异或符合),则转移到标号OK去执行,能实现此功能的程序段是()
A.XOR AL,BL
JNS OK
8、在两个8259A级联的中断系统在中,从8259A链接在主8259A的IR5上,则主8259A和从8259A的ICW3应分别设置为()
A.20H,05H

选择题
1.下列指令正确的是 ()
D. mov DS, AX
2.设 AH=79H, 当执行指令 ADD AH,98H后,标志位CF 和OF的值分别为 ()
C 1, 0(OF是看加数与和的符号是否相同,是0,否1)
3.下列指令正确的是 (A)
A.CALL FAR PTR AX B. CALL FAR PTR [AX]
B.CALL FAR PTR [BX] D. CALL FAR PTR [DX]
4.JMP BX 的指令寻址方式是 ()
A. 寄存器寻址
5.POPF 的寻址方式是()
A. SP 间接寻址 B. 堆栈寻址
C. 寄存器寻址 D. 寄存器间接寻址
6.在 DEBUG 下, u命令的作用是 ()
A. 反汇编命令 B. 汇编命令
C. 查看数据命令 D. 写入数据命令
7.8086内存最大寻址空间为 ()
A. 1 MB B. 64MB C.128MB D.256MB
8.伪指令OFFSET 表达的含义是 ()
A. 端地址值 B.偏移地址值
C. 物理地址值 D.操作数
9.若 X ,Y 为无符号数 当 X>Y 时转移的条件转移指()
A. JG B. JA C.JB D.JC
10.设有数据定义 X2 DW 10DUP(0,1,2), 则有指令
[ ]
A. MOV AX, 10 B. MOV AX, 20
C. MOV AX, 30 D. MOV AX, 40

二. 判断下列的指令是正确还是错误,错误的说明原因
1.MOV 1000H, AX
2.MUL 34H
3.SAR AX5
4.MOV CS,DS
5.MOV [BX],[SI]
三. 简答题
1.设有数据段定义如下, 请画出内存结构图
Datr segment
Array dw 3,$+2,5,$+6,260
Datr ends

2.简述汇编语言上机过程

四.
1.编写人机对话程序要求程序执行后在显示器上输出what is your name?回车换行后再输出你的名字后结束。

2.编写程序,找出一个字母数组中的最小数,存到min单元。

3.设ax和 bx 中存放的是无符号数,计算|ax-bx|,结果送数据段RESULT字变量中。
问题补充:正确率高的话,我再追加10分
提问者: wxfily0607 - 经理 四级 最佳答案

1.D 2.C 3.A 4.D 5.D 6._ 7.A 8.B 9.B 10._

1. 错误 立即数1000h 不能作为目的操作数
2. 正确
3. 错误 算术右移一位 sar ax,1 多位要使用cx 即把要移动的位数 寄存在cx中
4. 错误 不允许段寄存器之间直接赋值
5. 错误 不允许主存间直接交换数据
三 没办法给你画啊
剩下的你在想办法吧 希望对你有帮助
温馨提示:答案为网友推荐,仅供参考
相似回答