汇编语言复习要点及相关习题.docx
《汇编语言复习要点及相关习题.docx》由会员分享,可在线阅读,更多相关《汇编语言复习要点及相关习题.docx(29页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、要点总结第二章微型计算机构造1 . 8086的I段式存储构造段地址+偏移量地址二存储单元的物理地址或者,段寄存器时值*16+偏移地址=存储单元的物理地址2 .段寄存器,通用寄存器,指针与变址寄存器,标志寄存器3 .寻址方式(1)寻址方式的概念(2)寻址方式日勺分类(3)各寻址方式中对于寄存器日勺限制(4)各类寻址方式的格式第三章汇编语言(参照课件)1 .汇编语句格式:标号操作符 操作数;注释2 .标号的概念以及其三个属性3 .伪指令:(1)符号定义伪指令:EQU(2)数据定义伪指令:DB, DW(3)段定义伪指令:SEGMENT、ENDS、ASSUME4、运算符(1)分析算符:SEG, OFF
2、SET , SIZE, LENGTHMOVAX, LENA、 18HB、 1CHC、 15HD、 16H29、已知VAR DW 1, 2, $+2, 5, 6,若汇编时VAR分派的偏移地址是0010H,汇编后0014H单元的I内容是 oA、 16HB、 05HC、 14HD、 06H二、 填空题1、若运算成果为0,则标志寄存器中零标志位ZF二 o2、写出下列存储器地址时段地址,偏移地址和物理地址。(1)2314: 0035段地址为,偏移地址为,物理地址为 o3、设VAL是在数据段中定义的变量,试指出下列源操作数字段的寻址方式。(1) MOV AX, 03FH . (2) MOV AX, BX
3、(3) MOV AX, BX (4) MOV AX, DS:100H (5) MOV AX, ES: BX (6) MOV AX, BX+10 (7) MOV AX, VALBX (8) MOV AX,VALBX SI 4、DIV SRC执行字节除法时,运算后的J商寄存在AL中,余数寄存在 AH中。5、执行下列执行后,AX寄存器的值为 1EOOHoTABLE DW 10, 20, 30, 40, 50ENTRY DW . 3MOV BX, OFFSET TABLEADD BX, ENTRYMOV AX, BX6、执行下列指令序列后,BL寄存器时值为 oMOV CL, 3MOV BL, 0B3H
4、ROL BL, 1RCR BL, CL7、设(BX) =0C6H,变量VAL中寄存的内容为59H,确定下列各条指令单独执行后,BX寄存器的值。(1) XOR BX, VAL(2) AND BX, VAL(3) OR BX, VAL;(BX) =;(BX) =;(BX) =8、判断下列指令与否合法。(1) MOV SI, DI 不合法 不容许同为存储器数据(2) RCR DX, 3不合法 移位次数超过1,放到CL(3) PUSH AL不合法16位(4) MOV CS,AX不合法,不容许对CS赋值(5) INC BX 不合法,类型不匹配 INC byte ptrbx(6) MOV AX, DX不合
5、法,dx不容许作为间接寻址寄存器(7) MOV AL, 1000 不合法,1000超过8位数据表达的范围9、汇编语言源程序中表达结束的伪指令是END。10、判断下列指令和伪指令的使用与否对的。(1) KI DW 3412HK2 DB K1 不对的K1类型应当为DW(2) KI EQU 1234HMOV KI, AX不对的,K1不分派内存单元(3) N EQU 2N EQU N+1 不对的EQU不容许对同一标号反复赋值11.已知数据段定义如下:DATA SEGMENTORG 100HBUF DW CD, 1, 3 DUP(4, 2 DUP(8, 6)VRA DB 4AHDATA ENDS单独执行
6、下列语句LEA BX, BUF BX=_0100HMOV CX, VRA-BUF CX=_0022H(用十六进制数表达)。三、简述题1、8086系统中,设有一种包括8个字的数据区,数据区时起始地址为2100H: 2A10H,写出该数据区首末字单元的物理地址。23A10H23A1EH2、从内存地址34120H,依次寄存3个数,它们分别是字数据27H,字节数据0F1H和字数据9145H。请用图表达出这些数在内存的寄存状况。34120h27H34121hOOH34122h0F1H34123h45H34124h91H3、将AL与BX中的两个无符号数相加,成果放入AX。XOR AH, AHADD AX,
7、 BX4、将AL与BX中的两个带符号数相加,成果放入AX。CBWADD AX, BX5、将AL时高4位与低4位分别放入BH与BL的低4位,且将BH与BL的高4位清0。MOV CH, ALMOV CL, 4SHR CH, CLMOV BH, CHAND AL, OFHMOV BL, AL6、用一条逻辑指令将AX寄存器清0。XOR AX, AX7、用一条逻辑指令将DX寄存器的高3位为1,其他位不变。OR DX, OEOOOH8、试编写指令序列,将DX: AX中的32位无符号数乘以2,成果仍寄存在DX: AX中。SHL AX, 1RCL DX, 19、定义一种数据段DATASG,并且在该数据段中定义
8、一种有5个字节的字节数组ARRB,其值分别为 34H, 12H, 45H, 26H, 25H。DATASG segmentARRB db 34H, 12H, 45H, 26H, 25HDATASG ends10、伪指令与指令的本质区别是什么?伪指令是不可以编译成二进制代码,不可以执行,协助编译器对的识别指令,编译成二进制代码。指令语句可以编译成二进制代码,可以执行。11、编写数据段定义,在段中依次定义如下变量:VI为字节变量,初值是90H;V2为字数组,初值依次为2341H, 9813H, 0A213H;V3为字节型数组,初值为字符串Assembly Language;V4为字节数组,有5个字
9、节,未定义初值。Data segmentVI db 90hV2 dw 2341H, 9813H, 0A213HV3 db Assembly LanguageV4 db 5 dup (?)Data ends12、设数据段定义如下:DATA SG SEGMENTVI DB 3 DUP (0)V2 DW 4 DUP (0)DATASG ENDS(1) 编写指令序列,将1634H存入字节数组VI的第0个字节和第1个字节(可以修改数据段)Mov bx, offset VIMov word ptrbx, 1634H(2) 编写指令序列,将2AH存入字数组V2的第0个字节和第2个字节(可以修改数据 段)。M
10、ov si,offset V2Mov byte ptrsi,2AHMov byte ptrsi+2, 2AH习题二一、选择题:1 下 列 论 述 对 的的I是 O( )(A)对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMPS指令(B)对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CMP指令(0对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/JNB指令(D)对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/JNL指令2 .已知 BX=2023H, SI=1234H,则指令 MOV AX, BX+SI+2的源操作数在 中。(A
11、)数据段中偏移量为3236H的字节(B)附加段中偏移量为3234H的字节(0数据段中偏移量为3234H的字节(D)附加段中偏移量为3236H的字节4 . 在下列指令的表达中,不对时的是 o ( )(A) MOV AL, BX+SI . (B) JMP SHORT DONI(C) DEC EBX(D) MUL CL5 .为了使执行串操作指令时,地址按减量方式处理应使用指令 o( )(A)CLI (B)STI(C)CLD (D)STD6 .8086 CPU在基址加变址的寻址方式中,变址寄存器可认为 o( )(A) BX 或 CX (B) CX 或 SI (C) DX 或 SI .(D) SI 或
12、DI8 .伪指令VAR DD ?将在内存预留 字节的存储空间。( )(A). 1(B) 2 (C) 2(D) 49 .下面指令序列执行后完毕的运算,对时的算术体现式应是 o( )MOV AL, BYTE PTR X.SHL AL, 1DEC ALMOV BYTE PTR Y, AL(A) y=x*2+l(B) x=y*2+l(C) x=y*2-l(D) y=x*2-l10 .执行下面的程序段后,AL中的内容为( )BUF DW 2152H, 3416H, 5731H, 4684HMOV BX, OFFSET BUFMOV AL, 2XLAT(A) 46H(B) 34H(C) 16H(D) 57
13、HIL汇编语言源程序每个语句可以由四项构成,如语句要完毕一定功能,那么该语句中不可(A)操作项(B)名字项(0操作数项(D)注释项12. 下列指令执行时出错的是(A) ADD BUF1, BUF2(B) JMP DWORD PTR DATBX(C) MOV AX, 10HBX(D) TEST AL, 08H13 .已知(AX ) =3456H ,执行下述三条指令后,(AX)MOV BX, AXNEG BXADD AX, BX(A) 3456H(B) OEDCCH (C) 6DCCH (D) OOOOH14 . 将 DX 的内容乘以 2, 对时时指令是 o( )(A) MUL 2(B) MUL
14、DX, 2(C) SAR DX, 1(D) SHL DX, 1二填空题:KDIV SRC执行字节除法时,运算后时商寄存在 中,余数寄存在 中。2、设(BX) =0D6H,变量VAL中寄存的内容为77H,确定下列各条指令单独执行后,BX寄 存器的值。(1) OR BX, VAL; (BX) =(2) AND BX, VAL; (BX) =3、寄存指令有效地址的寄存器是,该寄存器与 段寄存器联合使用确定指令的物理地址;寄存栈顶有效地址的寄存器是,该寄存器与 段寄存器联合使用确定栈顶的物理地址4、在REPNZ SCASB指令中,反复执行串搜索指令的I条件是。5、指出下列指令中源操作数的寻址方式(9)
15、 MOV BX, 1000H MOV AX, BX+SI + 1OOH 6、汇编语言源程序中表达结束的伪指令是 o7、在汇编语言中,一般用来寄存循环次数的寄存器是。(2)组合算符:PTR5 .指令语句与伪指令语句的区别6 .数据段、堆栈段、代码段的用途第四章指令及汇编程序设计1 .数据传送指令:MOV、PUSH、POP、XCHG、XLAT2 .算数运算指令:ADD、ADC、INC、SUB、SBB、DEC、NEG、3 .逻辑运算指令:CMP、TEST、OR、AND、NOT、XOR4 .移位指令:逻辑左移/右移,算数左移/右移,循环左移/右移,带进位的I循环左移/右移;以及移位指令对于CF、OF标
16、志位的I影响分支构造程序设计1 .无条件转移指令2 .有条件的I转移指令(教材P102)3 .分支程序编写循环构造程序设计1 .循环控制指令LOOP、LOOPE/Z、LOOPNE/NZ以及他们日勺控制条件(对CF、ZF的I判断)2 .循环程序编写子程序设计1 .子程序定义伪指令、调用指令、返回指令2 .子程序设计中对于堆栈操作的规定三、简述题:1、伪指令与指令的本质区别是什么?2、编写汇编程序应经历哪些环节?3、指出能用于寄存器间接寻址及变址寻址的寄存器有哪些?它们一般与哪个段寄存器配 合形成物理地址? BX SI DIDSBPSS4、主程序与子程序的关系是什么?在程序中怎样使用子程序?5、简
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 复习 要点 相关 习题
限制150内