《汇编语言程序设计》复习资料-.pdf
《《汇编语言程序设计》复习资料-.pdf》由会员分享,可在线阅读,更多相关《《汇编语言程序设计》复习资料-.pdf(17页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、汇编语言程序设计复习资料注:复习资料仅提供题目类型参考,考试不会出现原题,考试重点依然是每节课划出的重点内容。一、基本概念1、8088/8086CPU 内部寄存器中,AX、BX、CX、DX bp di si 是通用寄存器,BX、BP、SI、DI是基址和变址寄存器,CS、DS、ES、SS 是段寄存器,此外还有指令指针寄存器IP 和标志位寄存器 FLAGS 两个控制寄存器,所有寄存器都是16 位寄存器,每个寄存器可以存放16 位二进制数。2、8088/8086CPU 有三组总线,它们是数据总线、地址总线和控制总线;地址总线是20 条,因此它可以寻址的范围是220 字节。通常将1024 字节称为 1
2、K,将 220 字节称为 1M。3、8088/8086CPU 的存储器采用分段方式管理,每个段最多可以有64K 字节,全部存储空间可以分成 16 个大小为 64K 且互相不重叠的段。4、采用分段方式管理的存储单元的地址分成物理和逻辑地址两种,逻辑地址由段地址和偏移地址两部分构成,段地址是每个存储器段的首地址;偏移地址则是相对于每个段第一个存储单元的偏移量。段地址存放在段寄存器中,由于8088/8086CPU 的段寄存器是16 位寄存器,因此在段寄存器中存放的是段地址的16 位;而 CPU 对数据的存取是按物理地址进行的,物理地址和逻辑地址间的关系是PHA=段地址*16+偏移地址5、存储器中,数
3、据是以字节为单位存放的,它是一个8 位二进制数,16 位二进制数是2 字节,又称为字;每个存储单元可以存放一个字节;一个字则占用两个存储单元,存放时要将低位数据在地址较小的存储单元中。6、计算机的指令由操作码和操作数构成,它们分别给出计算机执行的操作和所需要的操作数。7、表示操作数存放的方式称为寻址方式。088/8086CPU 与数据有关的寻址方式有立即、直接、寄存器、寄存器间接、寄存器相对、基址变址、相对基址变址转移有关的寻址有段内直接、段内间接、段间直接、段间间接等几种。8、8088/8086CPU 的指令系统分成六大类,它们是数据传送指令、算术指令、逻辑指令、串指令、控制指令和处理机和杂
4、项指令。9、汇编语言程序语句构成,语句通常由名字、操作码、操作数、注释四部分构成。10、指令语句在汇编时被翻译成机器语言指令,指示语句则在汇编时由汇编程序执行,而不被翻译成机器语言指令。11、名字项在指令语句中称为标号,它是指令的符号地址;而在指示语句中名字项称为变量,它是存储单元的符号地址,它们都有段、偏移、类型三种属性。12、数据定义伪指令的功能是定义数据、分配存储区,通常使用的数据定义伪指令是DB、DW、DD、DQ、DT、DF。13、符号定义伪指令EQU 的功能是给表达式赋一个名词,通常用它定义常数。14、用汇编语言编写的程序称为汇编语言源程序,它必须用汇编语言程序将它转换成二进制的机器
5、语言程序,这种机器语言程序称为目标程序,而转换的过程称为汇编。它还必须用连接程序连接,才能生成可执行的程序。汇编语言程序上机操作的步骤是编辑、汇编、连接、调试与执行。15、汇编语言源程序的扩展名是.asm,目标程序的扩展名是.obj,可执行程序的扩展名是.exe。16、下列指令中,执行后对标志未发生影响的是A B R F H I N O。A、MOV AX,BXB、PUSH AX C、ADD AX,00FFH D、CMP AX,BX E、JB NEXTF、CALL SUBB G、XOR AX,AX H、MOVSBI、LEA DX,BUF J、TEST AX,8000H K、MUL BX L、DI
6、V BX M、NOT CX N、LOOP LOPO、XCHG AX,BX17、按照下列指令中操作数的寻址方式在括号中填入适当的字母:目的操作数源操作数 A、MOV AX,1200H(寄存器寻址)(立即寻址)B、CMP WORD PRTSI,120H(寄存器间接寻址)(立即寻址)C、ADD AX,14BX(寄存器寻址)(寄存器相对寻址)D、SUB BX+DI,CX(基址变址寻址)(寄存器寻址)E、AND BX,BUF(寄存器寻址)(直接寻址)F、LEA DI,SI(寄存器寻址)(立即寻址)G、XOR BX+SI+3,DX(相对基址变址寻址)(寄存器寻址)a.立即寻址;b.寄存器寻址;c.直接寻址
7、;d.寄存器间接寻址;e.寄存器相对寻址;f.基址变址寻址;g.相对基址变址寻址.18、某存储单元的地址为3A80:13EBH,其中的 3A80 是段地址,13EB 是偏移地址;该存储单元的物理地址是3bbebH。若段地址改变为2eD4,则该存储单元的逻辑地址为2ED4:CEAB。19、十进制数-100 的 8 位二进制数的补码为(C)。A、11100100 B、01100100 C、10011100 D、1100111020、下列是8 位二进制数的补码,其中真值最大的是(D)。A、10001000 B、11111111 C、00000000 D、0000000121、16 位有符号数的补码所
8、表示的十进制数的范围是(B)。A、-32767+32768 B、-32768+32767 C、-65535+65536 D、06553522、以下指令中,执行后AL 中的数据不变的是(B D E F)。A、AND AL,CL B、OR AL,AL C、XOR AL,AL D、CMP AL,AL E、ADD AL,0 F、AND AL,0FFH G、XOR AL,0FFH H、OR AL,0FFH23、下列指令中,执行后,不改变标志位CF 的是(A E F G)。A、NOT AL B、AND AL,AL C、SAL AL,1 D、MUL AL E、MOVSB F、INC AL G、POP AX
9、H、POPF24、下列指令中,执行后,不改变标志位ZF 的是(D)。A、CMP AL,BL B、AND AL,AL C、TEST AL,0FFH D、ROR AL,CL25、执行指令CALL SUBB时,所要保护的断点在 (sp)中,而执行指令CALL FAR PTRSUBB 时,所要保护的断点在(sp)+1,(sp)中。二、根据给定的条件写出指令或指令序列:1、将一个字节的立即数送到地址为NUM 的存储单元中。答:MOV BYTE PTR NUM,num ;这里 num 是立即数2、将一个 8 位立即数与地址为BUF 的存储单元内容相加。答:ADD BYTE PTR BUF,num ;这里
10、num 是 8 位立即数3、将地址为ARRAY 的存储单元中的字数据循环右 移一位。答:ROR ARRAY,14、将 16 位立即数与地址为MEM 的存储单元中的数比较。答:CMP MEM,num ;这里 num 是 16 位立即数5、测试地址为 BUFFER 的字数据的符号位。答:TEST BUFFER,8000H ;zf=1表示 负数;zf=0 表示 非负 数6、将 AX 寄存器 及 CF 标志位 同时清零。答:AND AX,0 或 XOR AX,AX7、用直接寻址方式将首地址为ARRAY 的字数组中第5 个数送 往 寄存器 BX 中。答:MOV BX,ARRAY+8 8、用寄存器 间接
11、寻址方式将首地址为ARRAY 的字数组中第5 个数送 往寄存器 BX 中。答:LEA DI,ARRAY+8MOV BX,DI9、用相对寻址方式将首地址为ARRAY 的字数组中第8 个数送 往 寄存器 BX 中。答:MOV BX,8MOV BX,ARRAYBX10、用基址变址寻址方式将首地址为ARRAY 的字数组中第N 个数送 往寄存器 BX 中。答:MOV BX,0MOV SI,2*N-2MOV BX,ARRAYBX+SI11、将首地址为BCD_BUF 存储单元中的两个压缩 BCD 码相加,和送到第三个存储单元中。答:MOV AH,BCD_BUFADD AH,BCD_BUF+1DAAMOV B
12、CD_BUF+2,AH三、按照给定的条件为程序定义一个数据段,并画 出存储单元的示意图:1、STR 是字符串 THIS IS A DATA_SEGMENT。2、DAT1 是字节变量,初值为 23,4BH,126,0D3H。3、DAT2 是 16 进制数字变量,初值为 100,255,2 DUP(3,5)4、LEN 是以上存储单元的字节数。答:DATA SEGMENTSTR DB THIS IS A DATA_SEGMENT DAT1 DB 23,4BH,126,0D3H.RADIX 16DAT2 DW 100,255,2 DUP(3,5).RADIX 10LEN EQU$-STRDATA EN
13、DS5441170048544B0349417E00535FD30520530000494501534755204D02414503204E00445405四、写出 完成下列功能的程序段:1、将 AL 中的两位BCD 码分 离,分别存放DL 和 DH 中。答:MOV DH,ALMOV DL,ALAND DL,0FHMOV CL,4SHR DH,CLAND DH,0FH2、将 DL 中的 4位二进制数转换成16 进制数的 ASCII 码。答:ADD DL,30HCMP DL,30HJB NEXTADD DL,7NEXT:3、将 AL 中的 8位二进制数 高 4位和低 4 位交换。答:MOV CL
14、,4ROR AL,CL4、将 AL 和 BL 中的 非压缩 BCD 码合并 成一个 压缩 的 BCD 码,存在AL 中。答:AND AL,0FHMOV CL,4SHL AL,CLAND BL,0FHOR AL,BL5、将 AL 中的 8位有符号数转换成它的绝对值。答:TEST AL,80HJE EXITNEG ALEXIT:6、用串 扫描 指令在一个字符串中查找 字符*。答:设字符串变量为str,长度 在 CX 中。MOV AL,*LEA DI,STRREPNE SCASBJNE EXITDEC DIEXIT:7、将 输入的大写字母改变成小写输出。答:MOV AH,1INT 21HCMP AL
15、,41HJB SHOWCMP AL,ZJA SHOWADD AL,20HSHOW:MOV AH,2MOV DL,ALINT 21H8、输入一个字母,然后输 出它的后 续字母。答:MOV AH,1INT 21HCMP AL,41HJB NEXTCMP AL,ZJB SHOWCMP AL,61HJB NEXTCMP AL,zJAE NEXTSHOW:DEC ALMOV DL,ALMOV AH,2NEXT:9、将 DX:AX 寄存器中的32 位数 向右 移两位。答:MOV CX,2NEXT:SHR DX,1RCR AX,1LOOP NEXT10、完成计算 78。答:MOV AL,7MOV BL,8M
16、UL BL五、分 析指令和程序。1、已知 SS=2000H,SI=1000H,AX=0ABCDH,SP=0100H,BP=00FEH,给出下列指令执行后,指定寄存器中的内容,并画 出指令执行中 堆栈 的变 化示意图。答:结果 PUSH AX AX=0ABCDH SP=0FEH PUSH SI SI=1000H SP=0FC POP AX AX=1000H SP=0FEH PUSH BP BP=00FEH SP=0FCH POP SI SI=00FEH SP=0FEH POP BP BP=0ABCDH SP=100H PUSH AX AX=1000H SP=0FEH POP BX BX=1000
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言程序设计 汇编语言 程序设计 复习资料
限制150内