微机原理汇编语言习题解答.ppt_第1页
微机原理汇编语言习题解答.ppt_第2页
微机原理汇编语言习题解答.ppt_第3页
微机原理汇编语言习题解答.ppt_第4页
微机原理汇编语言习题解答.ppt_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

1、1-作业答案:,求(-122)10的原码、反码、补码? 原码=11111010B=FAH 反码=10000101B=85H 补码=10000110B=86H 2. 进行二进制数(B) 、十进制数(D) 、十六进制数(H)之间的转换 (1) 01101001B= 69 H= 105 D (2) 3FCAH= 0011111111001010 B,2-作业答案:,1.8086CPU访问接口用多少位地址线?可直接寻址多少内存空间?(16 ;1MB) 2.总线信号中决定系统直接寻址存储器范围的是什么总线? (地址总线AB) 3.8086CPU的IP、ES、CL、BH、DX、SS 、SI、SP、AH、C

2、S这些寄存器中,哪些是8位寄存器?( CL BH AH) 段寄存器?(ES SS CS) 16位通用寄存器?(DX SI SP) 堆栈指针寄存器? (SP) 4.请将下述逻辑地址转化为物理地址 (答案:物理地址皆为3017AH) 3017H:000AH 3015H:002AH, 3010H:007AH 5.若CS=2978H, IP=6572H,求当前指令内存的逻辑地址和物理地址?(答案:逻辑地址 2978H:6572H 物理地址 2FCF2H),3-作业答案:,1.访问I/O时8086CPU的M/IO*是什么电平? (低电平) 8086CPU的3个最基本的读写控制信号是M/IO*、_和_。

3、(WR*, RD*) 2. 8086CPU预取指令时,其引脚上将产生_总线操作;执行指令“MOV AX,BX” 时在其引脚上将产生_总线操作;执行指令“MOV BX,AX” 时在其引脚上将产生_总线操作 (存储器读;存储器读; 存储器写) 3. READY信号功能-书7页 READY 就绪(准备好) 输入信号,存储器或I/O口就绪 高电平有效表示可以进行数据读写,利用该信号无效请求处理器等待数据 处理器在进行读写前检测READY引脚 如果测到高有效,CPU直接进入下一步 如果测到无效,CPU将插入等待周期,4-作业答案:,1. (1)(2)指令有何区别?以下哪些指令执行后AX同?(设BX=1F

4、FFH) (1) MOV AX, 2000H (2 )MOV AX,2000H (3) MOV AX,BX (4 )MOV AX,BX+1 (答案: (1)(2)指令寻址方式不同;(2)(4)指令执行后AX同) 2.设指令执行前DS=9AB8H, BX=873CH,AX=2345H, 分别单独执行下列指令后AX=? (1) MOV AX, BX-1 (2) LEA AX, BX-1 (3) MOV AX, BX (4) MOV AX, 873CH (5) SUB AX, 873CH (6) CMP AX,873CH 答案: (1) AX=5F34H BX-1 物理地址A32BB (2) AX=

5、873BH=BX-1 (3) AX=873CH (4) AX=873CH (5) AX=CCE6H=2345H-565FH 873CH物理地址A32BC (6) AX=2345H AX不变 3.若DS=2978H, CX=6572H,BX=3AE4H,求指令MOV BX+5,CX内存操作数的逻辑地址?物理地址?偏移地址?段地址? (答案:逻辑地址=2978H:3AE9H 物理地址=2D269H 偏移地址=3AE9H 段地址=2978H) 4.判断哪些是非法指令 MOV 1000H,2000H (非法) MOV DS,2000H (非法) MOV DS,BX (合法) PUSH AL (非法),

6、内存,5-作业,将DX.AX中32位数值除以2(右移一位) SHR DX,1 RCR AX,1 2. 若指令执行前al=3ah,则分别执行 mov/and/or/xor al,0f1h指令及 not al指令后al=? mov al,0f1h ;al=0f1h and al,0f1h ;al=30h or al,0f1h ;al=fbh xor al,0f1h ;al=cbh not al ;al=c5h 3. 编程实现若寄存器BL中是小写字母a,则令BH0,否则令AH1 4. 将两有符号数AX、CX的较小值放DX 5.将DS:1000H开始的512字节的数据块传送至首地址为ES:3000H的

7、存储区域,6. (书114页习题2.13)试编程将内存从40000H到4BFFFH的每个单元中均写入55H,并再逐个读出比较,看写入的与读出的确是否一致.若全对,则置AL为7EH;若有错,置AL为81H. mov cx,0C000H;设置循环次数4BFFFH- 40000H+1 ;设置循环初值:DS:SI 指向数据段源缓冲区开始40000H mov ax,40000H mov ds,ax mov SI,0 next1: mov byte ptr si,55H;循环体每次写入一个字节55h inc si;SI指向下一个单元 loop next1;循环次数减1,CX不为0转移(循环) mov cx

8、,0C000H ;设置循环次数 mov si,0000H ;SI 指向数据段源缓冲区开始 mov al,81H ;设有错 next2:mov ah,si;循环体每次比较一个字节55h cmp ah,55h jNz done: inc si;SI和DI指向下一个单元 loop next2 mov al,7EH done: hlt,7. (书115页习题2.19)试编程序,统计由40000H开始的16KB个单元中所存放的字符”A”的个数,并将结果存放在DX中. mov cx,4000H ;设置循环次数16KB=4000H mov si,0000H ;设置循环初值 DS:SI 指向数据段源缓冲区开始

9、 ; 物理地址40000H= 段基地址(DS)4000H*16+偏移地址(SI)0000H mov ax,4000H mov ds,ax mov dx,0 ;dx存放结果,初值为0 next1: cmp byte ptr si,A ;循环体每次比较一个字节A jnz next2 inc dx next2: inc si ;SI指向下一个单元 loop next1 ;循环条件判定:循环次数减1,不为0转移(循环) done: hlt,6-作业,1.按照如下要求定义变量: (1) my1b为字符串变量 Personal Computer (2) my7c表示字符串 Personal Compute

10、r (3) my3b为用十六进制数表示的字节变量 20 (4) my5w为20个未赋值的字变量 (5) my6c为100的常量 2.程序如下 countdb 80h, B,? maxintequ 04h numberdw maxint arraydb maxint dup(3) mov cx,count decbyte ptr array-1 movbx,offset number movah,bx+2 moval,bx-2 hlt 问:程序执行后ax=?cx=? 3.编程实现将stt开始的9个无符号数的和放至dtt开始的两个存储单元中 4.将题3写出完整的汇编语言源程序(简化段定义格式),7

11、-作业,1.(书114页2.5题)试编程将BUFFER中的一个8位二进制转化为ASCII码,并按位数高低顺序存放在ANSWER之下.注:8位二进制数为2位十六进制数,1位十六进制数转换为1位ASCII码 BUFFERDB 12H ANSWERDB2 DUP(?) ;存放ASCII movsi,offset ANSWER ;si存放转换成ASCII码的起始地址指针 moval,BUFFER ;取1个字节需转换的二进制数 callHTOASC ;调16进制数转换成ASCC码子程序 movsi,al;siASCII码 incsi moval,BUFFER ;取1个字节需转换的二进制数的高4位 pus

12、h cx mov cl,4 shr al,cl popcx callHTOASC ;调16进制数转换成ASCC码子程序 movsi,al ;siASCII码 hlt; 1位16进制数转换成1位ASCII 码子程序 HTOASC proc and al,0fh cmp al,10 jc htoasc1; 10,转htoasc1 add al,37h; 是A F,加37H ret ; 子程序返回 htoasc1: add al,30h ; 是0 9,加30H ret ; 子程序返回,2.(书114页2.7题)试编程将MOLT中的一个8位二进制乘以20,乘积放在ANS单元及其下一个单元中 注:MOL

13、T中的一个8位二进制数为无符号数 数据段主体部分 moltdb 56H ansdw ?;存放乘积 ;代码段主体部分 方法一: 用乘法指令 mov al,molt mov bl,20 mul bl ; ax=albl=molt20 mov ans,ax 方法二: 用加法指令循环结构实现乘法运算 mov cx,20 xor ax,0;实现ax0,同时使CF0 again: add al, molt adc ah,0 loop again mov ans,ax,作业2讲解(续),方法三: 用移位指令实现乘法运算 20=16+4 mov al,molt xor ah,ah;实现AH0,同时使CF0 s

14、hl ax,1;AX2AL shl ax,1;AX4AL mov bx,ax;BXAX4AL shl ax,1;AX8AL shl ax,1;AX16AL add ax,bx;AX16AL4AL20AL mov ans,ax,sub ah,ah and ah,0,逻辑左移一位相当于无符号数乘以2 逻辑右移一位相当于无符号数除以2,3.(书115页2.17题)在内存4000H开始的16KB个单元中存放一组数据,试编程顺序将它们搬移到A000H开始的顺序16KB个单元中.注: 4000H、A000H为物理地址 mov cx,4000h;设置循环次数16KB4000H ;设置循环初值DS:SI指向数

15、据段源缓冲区开始40000H=4000H16+0 mov ax,4000h mov ds,ax mov si,0 ;设置循环初值ES:DI指向附加段目的缓冲区开始A0000H=A000H16+0 mov ax,0a000h mov es,ax mov di,0 again:mov al,si;循环体:实现数据传送 mov es:di,al;每次传送一个字节 movsb inc si; SI和DI指向下一个单元 inc di loop again ;循环条件判定-循环次数减1,不为0转移(循环),8-作业,1.书165页题3.1 2.书165页题3.2 3.书166页题3.16,9-作业,1.书

16、237页习题1(内存RAM区改为20000H9FFFFH) 2.书237页习题7 3.书237页习题8(图4.71的A17A16改接与门) 4.若用6264SRAM芯片(8K8位)组成128KB的存储器系统,问:(电子科大考研题) (1)需要多少片6264芯片? (2)约定该存储器模块的起始地址为40000H,则该存储器模块的末地址为多少?,9-作业讲解,1.书237页习题1(内存RAM区改为20000H9FFFFH) 分析 地址范围20000H9FFFFH共有 9FFFFH-20000H+1=80000H字节=8216字节=512K8位 6264SRAM (13根地址线,8根数据线) 8K8

17、b 需64片 62256SRAM (15根地址线,8根数据线) 32K8b 需16片 2164 DRAM(书198页) 64K1b 需64片 21256DRAM 256K1b 需16片 2.书237页习题7 (内存地址范围40000HBBFFFH) 分析 BBFFFH-40000H+1=7C000H字节=7C212字节=496KB,芯片存储容量存储单元数存储单元的位数2MN 位 M:芯片的地址线根数 N:芯片的数据线根数,存储容量结束地址起始地址1 (字节),32K8的SRAM芯片62256,3.书237页习题8 (图4.71的A17A16改接与门) 分析: A19A18A17A16=1x11

18、 (A18=x 0或1皆可) A12A0=xx (x为 0或1皆可) Y0: A15A14A13=000 B0000HB1FFFH或F0000HF1FFFH Y4: A15A14A13=100 B8000HB9FFFH或F8000HF9FFFH Y6: A15A14A13=110 BC000HBDFFFH或FC000HFDFFFH Y7: A15A14A13=111 BE000HBFFFFH或FE000HFFFFFH,4.若用6264SRAM芯片(8K8位)组成128KB的存储器系统,问:(电子科大考研题) (1)需要多少片6264芯片? (2)约定该存储器模块的起始地址为40000H,则该存储器模块的末地址为多少? 分析 (1) (128K8位)/ (8K8位)=16

温馨提示

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

评论

0/150

提交评论