汇编语言期末复习总结(完整版).doc_第1页
汇编语言期末复习总结(完整版).doc_第2页
汇编语言期末复习总结(完整版).doc_第3页
汇编语言期末复习总结(完整版).doc_第4页
汇编语言期末复习总结(完整版).doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

习题1.24说明下列指令中源操作数的寻址方式?如果BX2000H,DI40H,给出DX的值或有效地址EA的值。 (1) mov dx,1234h 直接寻址,EA1234H(3) mov dx,bx 寄存器寻址,DX2000H(6) mov dx,bx+di 基址变址寻址,EA2040H第2章 8086的指令系统习题2.1已知DS2000H、BX0100H、SI0002H,存储单元20100H20103H依次存放12 34 56 78H,21200H21203H依次存放2A 4C B7 65H,说明下列每条指令执行完后AX寄存器的内容。(1) mov ax,1200h AX1200H(2) mov ax,bx AX0100H(3) mov ax,1200h AX4C2AH ;偏移地址=1200h(4) mov ax,bx AX3412H ;偏移地址=bx=0100h(5) mov ax,bx+1100h AX4C2AH ;偏移地址=bx+1100h=1200h(6) mov ax,bx+si AX7856H ;偏移地址=bx+si=0100h+0002h=0102h(7) mov ax,bxsi+1100h AX65B7H ;偏移地址bx+si+1100h=0100h+0002h+1100h=1202h习题2.2指出下列指令的错误(1) mov cx,dl 两操作数类型不匹配(2) mov ip,ax IP指令指针禁止用户访问(3) mov es,1234h 立即数不允许传给段寄存器(DS、CS、SS、ES)(4) mov es,ds 段寄存器之间不允许传送(5) mov al,300 两操作数类型不匹配(6) mov sp,ax 目的操作数应为 SI (7) mov ax,bx+di 源操作数应为 BX+DI (8) mov 20h,ah 立即数不能作目的操作数习题2.8请分别用一条汇编语言指令完成如下功能: (1)把BX寄存器和DX寄存器的内容相加,结果存入DX寄存器。(2)用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。(3)用BX和位移量0B2H的寄存器相对寻址方式把存储器中的一个字和CX寄存器的内容相加,并把结果送回存储器中。(4)用位移量为0520H的直接寻址方式把存储器中的一个字与数3412H相加,并把结果送回该存储单元中。(5)把数0A0H与AL寄存器的内容相加,并把结果送回AL中。(1)ADD DX,BX(2)ADD AL,byte ptr BX+SI(3)ADD BX+0B2H,CX(4)ADD WORD PTR 0520H,3412H(5)ADD AL,0A0H习题2.10指出下列指令的错误: (1) xchg si,30h xchg的操作数不能是立即数(2) pop cs 不应对CS直接赋值(3) sub si,di 两个操作数不能都是存储单元(4) push ah 堆栈的操作数不能是字节变量(5) adc ax,ds adc的操作数不能是段寄存器(6) add si,80h 没有确定是字节还是字操作(7) shl si ,1 没有指定指向数据的大小(8) ror dx, al al应该换成cl习题2.22假设AX和SI存放的是有符号数,DX和DI存放的是无符号数,请用比较指令和条件转移指令实现以下判断: (1)若DX DI,转到above执行 cmp dx,di ja above ;jnbe above(2)若AX SI,转到greater执行 cmp ax,si jg greater ;jnle greater(3)若CX = 0,转到zero执行 cmp cx,0 jz zero ; jcxz zero 习题2.25对下面要求,分别给出3种方法,每种方法只用一条指令。 (1)使CF=0 (2)使AX=0(1)解答: clc(清零) and ax,ax(逻辑操作不会进位) or ax,ax(2)解答: xor ax,ax and ax,0 mov ax,0习题3.7假设myword是一个字变量,mybyte1和mybyte2是两个字节变量,指出下列语句中的错误原因。 (1) mov byte ptr bx,1000 1000超出了一个字节范围(2) mov bx,offset mywordsi 寄存器的值只有程序执行时才能确定,而offset是汇编过程计算的偏移地址,故无法确定,改为lea bx,mywordsi(3) cmp mybyte1,mybyte2 两个都是存储单元,指令不允许(4) mov al,mybyte1+mybyte2 变量值只有执行时才确定,汇编过程不能计算(5) sub al,myword 字节量AL与字变量myword,类型不匹配(6) jnz myword Jnz指令只有相对寻址方式,不支持间接寻址方式习题3.10画图说明下列语句分配的存储空间及初始化的数据值: (1) byte_var DB ABC,10,10h,EF,3 DUP(-1,?,3 DUP(4)(2) word_var DW 10h,-5,EF,3 DUP(?)(1)从低地址开始,依次是(十六进制表达):41 42 43 0a 10 45 46 ff 04 04 04 ff 04 04 04 ff 04 04 04(2)从低地址开始,依次是(十六进制表达):10 00 FB FF 46 45 习题3.11请设置一个数据段mydataseg,按照如下要求定义变量: (1) my1b为字符串变量:Personal Computer(2) my2b为用十进制数表示的字节变量:20(4) my4b为用二进制数表示的字节变量:20(5) my5w为20个未赋值的字变量(6) my6c为100的常量(7) my7c表示字符串:Personal Computermydataseg segmentmy1b db Personal Computermy2b db 20my3b db 14h ;20hmy4b db 00010100bmy5w dw 20 dup(?)my6c equ 100 ;my6c = 100my7c equ mydataseg ends第4章 基本汇编语言程序设计习题4.6编制一个程序,把变量bufX和bufY中较大者存入bufZ;若两者相等,则把其中之一存入bufZ中。假设变量存放的是8位无符号数。 .model small .stack 256 .databufx db ?bufY db ?bufz db ? .code .startup mov al, bufX mov bl, bufY cmp al,bl ja next mov bufZ, bl jmp done next: mov bufZ, aldone: .exit 0 End大题1. 显示HelloWorld字符串。.model small;定义程序的存储模型,一般程序采用小型模型.stack;堆栈段.data;数据段string db Hello World!,0dh,0ah,$ ;定义需要显示的字符串.code;代码段.startup;程序的起始点,建立DS、SS内容mov dx,offset string;指定字符串在数据段的偏移地址mov ah,9int 21h;调用功能调用显示信息.exit 0 ;程序结束点,返回DOSend;汇编结束2. COM程序实现任意键后响铃.model tiny.code.startupmov dx,offset stringmov ah,9;9号调用输出字符串int 21hmov ah,01h;1号调用,从stdin读取字符int 21hmov ah,02hmov dl,07hint 21h;2号调用,向stdout输出字符(07H-a响铃).exit 0string db Press any key to continue!$ ;数据安排在不与代码冲突的地方end3. 设有一个64位的数据,要求将它算术左移8位(从高字节开始,从右向左左移8位).model stmall.stack.dataqvar dq 1234567887654321h;dq表示4个字4*16 = 64bytes.code.startupmov cx,7mov si,6 ;1again:mov al,byte ptr qvarsimov byte ptr qvarsi+1,al ;si-1desc si ;inc siloop againmov byte ptr qvarsi + 1,0 ;si 4. 计算1100的和,将结果放入SUM中.model stmall.stack.datasum dw ?.code.startupxor ax,axmov cx,100again:add ax,cxloop againmov sum,ax.exit 0end5. 把一个字符串中所有的大小改小写,该字符串以0结尾。.model stmall.stack.datastring db HELLO world!,0.code.startupmov bx,offset stringagain:mov al,bxor al,aljz donecmp al,Ajb nextcmp al,Zja nextor al,20hmov bx,alnext:inc bxjmp againdone:.exit 0end6. 编制一个程序,把变

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论