汇编语言1-3章答案

合集下载

钱晓捷新版汇编语言程序设计习题答案(1-4)

钱晓捷新版汇编语言程序设计习题答案(1-4)

钱晓捷新版汇编语言程序设计习题答案第一章汇编语言基础知识1.17、举例说明CF和OF标志的差异。

溢出标志OF和进位标志CF是两个意义不同的标志进位标志表示无符号数运算结果是否超出范围,运算结果仍然正确;溢出标志表示有符号数运算结果是否超出范围,运算结果已经不正确•例1:3AH + 7CH=B6H无符号数运算:58+124=182,范围内,无进位有符号数运算: 58+124=182 ,范围外,有溢出•例2:AAH + 7CH=(1)26H无符号数运算:170+124=294,范围外,有进位有符号数运算:-86+124=28 ,范围内,无溢出1.20、8086有哪4种逻辑段,各种逻辑段分别是什么用途?(解答)代码段(Code Segment)用来存放程序的指令序列。

处理器利用CS : IP取得下一条要执行的指令•堆栈段(Stack Segment)确定堆栈所在的主存区域。

处理器利用SS : SP操作堆栈中的数据•数据段(Data Segment)存放当前运行程序所用的数据。

处理器利用DS : EA存取数据段中的数据•附加段(Extra Segment)是附加的数据段,也用于数据的保存。

处理器利用ES : EA存取数据段中的数据第二章8086指令系统2.1已知DS = 2000H、BX = 0100H、SI = 0002H,存储单元[20100H] ~ [20103H]依次存放12 34 56 78H,[21200H] ~ [21203H]依次存放2A 4C B7 65H,说明下列每条指令执行完后AX寄存器的内容。

(1) mov ax,1200h ;AX=1200h(2) mov ax,bx ; AX=0100h(3) mov ax,[1200h] ; AX=4C2Ah(4) mov ax,[bx] ; AX=3412h(5) mov ax,[bx+1100h] ; AX=4C2Ah(6) mov ax,[bx+si] ; AX=7856h(7) mov ax,[bx][si+1100h] ; AX=65B7h2.2指出下列指令的错误(1) mov cx,dl 两操作数类型不匹配(2) mov ip,ax IP 指令指针禁止用户访问(3) mov es,1234h 立即数不允许传给段寄存器(4) mov es,ds 段寄存器之间不允许传送(5) mov al,300 两操作数类型不匹配(6) mov [sp],ax 目的操作数应为[ BP ](7) mov ax,bx+di 源操作数应为 [BX+DI](8) mov 20h,ah 立即数不能作目的操作数2.3已知数字0 ~ 9对应的格雷码依次为:18H、34H、05H、06H、09H、0AH、0CH、11H、12H、14H,它存在于以table为首地址(设为200H)的连续区域中。

第一、二、三章复习题及答案

第一、二、三章复习题及答案

第一、二、三章复习题及答案一、判断正误题(共25题,每题1分)1.RAM所存储的数据只能读取,但无法将新数据写入其中。

(错)2.每一英寸磁带上所能存储的位数称为磁带密度,以bpi表示。

(对)3.计算机病毒是一种可以自我繁殖的特殊程序。

(对)4.激光打印机属于非击打式打印机。

(对)5.运算器是完成算术和逻辑操作的核心处理部件,通常称为CPU。

(错)6.通常,没有操作系统的计算机是不能工作的。

(对)7.计算机的指令是一组二进制代码,是计算机可以直接执行的操作命令。

(对)8.AUTOEXEC.BAT存放在任何目录下,均可在开机后自动执行。

(错)9.若路径以反斜杠"\"开始,DOS系统就从根目录开始查找命令中指定的文件,否则从当前目录开始查找。

(对)10.在对文件进行操作时,通常要用路径指定出该文件在当前盘中的位置,即在哪一级目录下。

如果被操作的文件在当前目录中,则可省略路径直接指出文件名。

(对)11.系统配置文件CONFIG.SYS一经修改立即生效。

(错)12.在Windows95中,用户不能对开始菜单进行添加或删除。

(错)13.保存文件时,在“另存为”对话框中可以选择文件存放的位置。

(对)14.Windows 95操作系统既允许运行Windows文件,也允许运行非Windows文件。

(对)15.当选定文件或文件夹后,欲改变其属性设置,可以用鼠标右键,然后在弹出的菜单中选择"属性"命令。

(对)16.在Windows95中不用物理键盘就不能向可编辑文件输入字符。

(错)17.在计算机中使用八进制和十六进制,是因为它们占用的内存容量比二进制少。

(错)18.每个汉字具有唯一的内码和外码。

(错)19.主存储器多半是半导体构成的,所以易受破坏。

(错)20.驱动器的读写头是接触着软盘的,所以读写头不可能被碰撞坏。

(错)21.存储器地址是代表某一内存位置的编号。

(对)22.存储器容量的大小可用KB为单位来表示,1KB表示1024个二进制位。

汇编语言第1-2章平时练习(已看完)

汇编语言第1-2章平时练习(已看完)

1. 知识点:0202(基于微处理器的计算机系统构成) 在下列的选项中,能够组成计算机系统的是(A)。

选项A)硬件系统和软件系统选项B)CPU、存储器、输入/输出设备选项C)操作系统、各种语言选项D)系统软件和应用软件2. 知识点:01 (基础知识)汇编语言属于( B)选项A)用户软件选项B)系统软件选项C)高级语言×选项D)机器语言×5知识点:0203(中央处理机)中央处理器CPU是由(D)组成的选项A)运算器选项B)控制器选项C)寄存器组选项D)前三者答案:D6. 知识点:0201(80x86微处理器)IBM PC机的DOS是属于(B )。

选项A)用户软件选项B)系统软件选项C)系统硬件选项D)一种语言8. 知识点:0203(中央处理机)8086/8088 CPU的寄存器组中,8位的寄存器共有(C )个选项A)4选项B)6选项C)8选项D)109. 知识点:0203(中央处理机)8086/8088 CPU的寄存器组中,16位的寄存器共有()个。

选项A)10选项B)12选项C)13选项D)1410. 知识点:0204(存储器)8086/8088 CPU执行算术运算时PSW共有()个标志位会受影响。

选项A)4选项B)5选项C)6 SF,ZF,CF,OF,PF.AF选项D)711. 知识点:0204(存储器)在程序执行过程中,IP寄存器始终保存的是()。

选项A)上一条指令的首地址选项B)本条指令的首地址选项C)下一条指令的首地址选项D)需计算有效地址后才能确定地址12. 知识点:0204(存储器)IBM PC机的存储器可分()个段。

选项A)4选项B)256选项C)512选项D)6553613知识点:0204(存储器)当使用BP作编程地址时,此时使用的是()段。

选项A)CS选项B)DS选项C)ES选项D)SS17知识点:0204(存储器)存储器的一个字节表示()位。

选项A)8选项B)16选项C)32选项D)6418知识点:0101(基于微处理器的计算机系统构成)如果某个字变量的数据存放在奇地址单元,则8086/8088 CPU读写该变量时需要()个读写周期。

王爽汇编语言答案(1-4)

王爽汇编语言答案(1-4)

王爽汇编语⾔答案(1-4)王爽汇编语⾔答案(1-4章)检测点chapter1检测点1.1(1)1个CPU的寻址能⼒为8KB,那么它的地址总线的宽度为13。

(2)1KB的存储器有个存储单元。

存储单元的编号从0000到1023。

(3)1KB的存储器可以存储个8192bit,1024个Byte。

(4)1GB、1MB、1KB分别是2^30 , 2^20 , 2^10Byte。

(5)8080、8088、80286、80386的地址总线宽度分别为16根、20根、24根、32根,则它们的寻址能⼒分别为:64(KB)、1(MB)、16(MB)、4(GB)。

(6)8080、8088、8086、80286、80386的数据总线宽度分别为8根、8根、16根、16根、32根则它们⼀次可以传送的数据为:1(B)、1(B)、2(B)、2(B)、4(B)。

(7)从内存中读取1024字节的数据,8086⾄少要读512次,80386⾄少要读256次。

(8)在存储器中,数据和程序以形式⼆进制存放。

chapter2检测点2.11.写出每条汇编指令执⾏后相关寄存器中的值。

指令寄存器mov ax, 62627AX = F4A3Hmov ah, 31H AX = 31A3Hmov al, 23H AX = 3123Hadd ax, ax AX = 6246Hmov bx, 826CH BX = 826CHmov cx, ax CX = 6246Hmov ax, bx AX = 826CHadd ax, bx AX = 04D8Hmov al, bh AX = 0482Hmov ah, bl AX = 6C82Hadd ah, ah AX = D882Hadd al, 6AX = D888Hadd al, al AX = D810Hmov ax, cx AX = 6246H2. 只能使⽤⽬前学过的汇编指令,最多使⽤4条指令,编程计算2的4次⽅。

IBM-PC汇编语言程序设计(第二版)答案1-8章

IBM-PC汇编语言程序设计(第二版)答案1-8章

///第一章. 习题1.1 用降幂法和除法将下列十进制数转换为二进制数和十六进制数:(1) 369 (2) 10000 (3) 4095 (4) 32767答:(1) 369=1 0111 0001b=171h(2) 10000=10 0111 0001 0000b=2710h(3) 4095=1111 1111 1111b=fffh(4) 32767=111 1111 1111 1111b=7fffh1.2 将下列二进制数转换为十六进制数和十进制数:(1) 10 1101 (2) 1000 0000 (3) 1111 1111 1111 1111 (4) 1111 1111答:(1) 10 1101b=2dh=45(2) 1000 0000b=80h=128(3) 1111 1111 1111 1111b=ffffh=65535(4) 1111 1111b=ffh=2551.3 将下列十六进制数转换为二进制数和十进制数:(1) fa (2) 5b (3) fffe (4) 1234答:(1) fah=1111 1010b=250(2) 5bh=101 1011b=91(3) fffeh=1111 1111 1111 1110b=65534(4) 1234h=1 0010 0011 0100b=46601.4 完成下列十六进制数的运算,并转换为十进制数进行校核:(1) 3a+b7 (2) 1234+af (3) abcd-fe (4) 7ab×6f答:(1) 3a+b7h=f1h=241(2) 1234+afh=12e3h=4835(3) abcd-feh=aacfh=43727(4) 7ab×6fh=35325h=2178931.5 下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。

(1) (-85)+76 (2) 85+(-76) (3) 85-76 (4) 85-(-76) (5) (-85)-76 (6) -85-(-76)答:(1) (-85)+76=1010 1011b+0100 1100b=1111 0111b=0f7h;cf=0;of=0(2) 85+(-76)=0101 0101b+1011 0100b=0000 1001b=09h;cf=1;of=0(3) 85-76=0101 0101b-0100 1100b=0101 0101b+1011 0100b=0000 1001b=09h;cf=0;of=0(4) 85-(-76)=0101 0101b-1011 0100b=0101 0101b+0100 1100b=10100001b=0a1h;cf=0;of=1(5) (-85)-76=1010 1011b-0100 1100b=1010 1011b+1011 0100b=0101 1111b=5fh;cf=0;of=1(6) -85-(-76)=1010 1011b-1011 0100b=1010 1011b+0100 1100b=11110111b=0f7h;cf=0;of=01.6 下列各数为十六进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的带符号数或无符号数时,它们所表示的十进制数是什么?(1) d8 (2) ff答:(1) d8h表示的带符号数为-40,d8h表示的无符号数为216;(2) ffh表示的带符号数为-1,ffh表示的无符号数为255。

第1-3章计算机组成原理课后习题答案

第1-3章计算机组成原理课后习题答案

第1章计算机系统概论1.1 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?解:计算机系统由硬件和软件两大部分组成。

硬件即指计算机的实体部分,它由看得见摸得着的各种电子元器件,各类光、电、机设备的实物组成,如主机、外设等。

软件是看不见摸不着的,由人们事先编制成具有各类特殊功能的信息组成,用来充分发挥硬件功能,提高机器工作效率,便于人们使用机器,指挥整个计算机硬件系统工作的程序、资料、数据集合。

硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。

1.2 如何理解计算机系统的层次结构?解:(1)第一级:实际机器M1 (机器语言机器),机器语言程序直接在M1上执行;(2)第二级:虚拟机器M2(汇编语言机器),将汇编语言程序先翻译成机器语言程序,再在M1-上执行;(3)第三级:虚拟机器M3(高级语言机器),将高级语言程序先翻译成汇编语言程序,再在M2、M1(或直接到M1)上执行;(4)第零级:微程序机器M0(微指令系统),由硬件直接执行微指令。

(5)实际上,实际机器M1和虚拟机器M2之间还有一级虚拟机,它是由操作系统软件构成,该级虚拟机用机器语言解释操作系统。

(6)虚拟机器M3还可以向上延伸,构成应用语言虚拟系统。

1.3 说明高级语言、汇编语言和机器语言的差别及联系。

解:机器语言由0、1代码组成,是机器能识别的一种语言。

用机器语言编写程序时要求程序员对他们所使用的计算机硬件及其指令系统十分熟悉,编写程序难度很大,操作过程也极易出错。

汇编语言是符号式的程序设计语言,汇编语言是面向机器的语言,它由一些特殊的符号表示指令。

用汇编语言编写的汇编语言程序必须先被翻译成机器语言程序,才能被机器接受并自动运行。

汇编语言的每一条语句都与机器语言的某一条语句(0、1代码)一一对应。

高级语言是面向用户的语言,与具体的计算机指令系统无关、对问题的描述更接近于人们习惯,且易于掌握和书写。

它具有较强的通用性,程序员完全不必了解、掌握实际机器M1的机型、内部的具体组成及其指令系统,只要掌握这类高级语言的语法和语义,便可直接用这种高级语言来编程,给程序员带来了极大的方便。

1-3-4-5计算机组成原理课后习题答案

1-3-4-5计算机组成原理课后习题答案

第一章计算机系统概论习题答案1、答:计算机系统由硬件和软件两大部分组成。

硬件即指计算机的实体部分,它由看得见摸的着的各种电子元器件,各类光电、机设备的实物组成,如主机、外设等。

软件时看不见摸不着的,由人们事先编制成具有各类特殊功能的信息组成,用来充分发挥硬件功能,提高机器工作效率,便于人们使用机器,指挥整个计算机硬件系统工作的程序集合。

软件和硬件都很重要。

2、答:从计算机系统的层次结构来看,它通常可有五个以上的不同级组成,每一个上都能进行程序设计。

由下至上可排序为:第一级微程序机器级,微指令由硬件直接执行;第二级传统机器级,用微程序解释机器指令;第三级操作系统级,一般用机器语言程序解释作业控制语句;第四级汇编语言机器级,这一级由汇编程序支持和执行;第五级高级语言机器级,采用高级语言,由各种高级语言编译程序支持和执行,还可以有第六级应用语言机器级,采用各种面向问题的应用语言。

3、答:机器语言由0、1代码组成,是机器能识别的一种语言。

汇编语言是面向机器的语言,它由一些特殊的符号表示指令,高级语言是面向用户的语言,它是一种接近于数学的语言,直观,通用,与具体机器无关。

4、答:计算机组成是指如何实现计算机体系结构所体现的属性,它包含了许多对程序员来说是透明的硬件细节。

计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,即概念性的结构与功能特性,通常是指用机器语言编程的程序员所看到的传统机器的属性,包括指令集、数据类型、存储器寻址技术、I/O机理等等,大都属于抽象的属性。

5、答:特点是:(1) 计算机由运算器、存储器、控制器和输入设备、输出设备五大部件组成(2) 指令和数据以同等的地位存放于存储器内,并可以按地址寻访(3) 指令和数据均可以用二进制代码表示(4) 指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数所在存储器中的位置(5) 指令在存储器内按顺序存放。

通常,指令是顺序执行的,在特定情况下,可根据运算结果或根据设定的条件改变执行顺序(6) 机器以运算器为中心,输入输出设备与存储器的数据传送通过运算器。

汇编语言练习1 答案资料

汇编语言练习1 答案资料

一、单项选择题(本大题共20 小题,每小题 1 分,共20 分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1. 下列寄存器组中在存储器操作数寻址时可用于提供偏移地址的是(D)A.AX ,BX ,CX ,DXB.SP ,BP ,SI ,DIC.CS ,ES ,DS ,SSD.BX ,BP ,SI ,DI2. 某存储单元的段地址是0AB90H ,偏移地址是1234H ,该存储单元的物理地址是(B)A.0BDC4HB.0ACB34HC.0AD134HD.1CED0H3. 执行NEG 指令时,要设置标志位CF 。

设置CF 的正确说法是(C)A. 对正数求补时,CF 置0B. 对负数求补时,CF 置0C. 对全0 数据求补时,CF 置0D. 对非零数据求补时,CF 置04. 设DF=1 ,每次执行CMPSW 指令时,SI 和DI 均要分别(B)A. 减1B. 减2C. 加1D. 加 25. 要使BL 中的低四位变反,高四位不变,应执行指令(D)A.NOT BLB.OR BL ,0FHC.AND BL ,0FHD.XOR BL ,0FH6. 设(AL )=07H ,要使(AL )=-07H 应执行的指令是(C)A.OR AL ,80HB.NOT ALC.NEG ALD.ADD AL ,80H7. 在8086/8088 的立即数寻址方式中,对寄存器的使用下列说法正确的是(D)A. 使用AX ,BX ,CX ,DXB. 使用SI ,DI ,BP ,SPC. 使用任一个通用寄存器D. 不使用任何寄存器8. 下列指令执行时操作数在数据段的是(D)A.MOV AX ,32768HB.ADD AL ,AHC.NEG BXD.INC [DI]9.MOV AL ,-1NEG ALXOR AL ,65上述指令执行后,AL 的值是()A.01HB.40HC.61HD.64H10. 设SP=4AH ,执行段内返回指令RET 4 后,SP 的值是(D)A.44HB.48HC.4CHD.50H11. 在查错程序DEBUG 中,为查看或修改内存单元的内容,这时存储单元地址是使用(A)A. 逻辑地址B. 物理地址C. 逻辑地址或物理地址D. 由用户指定选择逻辑地址或物理地址12. 设NUM=60H ,表达式:(NUM LT 60H AND 30 )OR (NUM GE 60H AND 40 )的值是(A)A.0B.3EHC.40D.0FFFFH13. 指令MOV CL ,55H XOR 0F0H 执行后CL 中的值是(C)A.05HB.50HC.0A5HD.0F5H14. 下面语句中能和指令MOV AX ,NOT 0FH 等效的是(C)A.MOV AX ,0FFFFHB.MOV AX ,0FHC.MOV AX ,0FFF0HD.MOV AX ,0F0FFH15. 对CS 段寄存器赋段地址的方法是(B)A.MOV AX ,COSEB.ASSUME CS :COSEC.END 起始地址D.MOV CS ,2050H16. 有数据定义BUF DB 8DUP (3 DUP (2 ),2 DUP (3 )),在BUF 中能构成数据0302H 有(C)A.5 个B.6 个C.7 个D.8 个17.X DW 1234H ,0A9BHY DB 7EH ,8DH┇MOV BH ,TYPE XMOV BL ,TYPE Y执行后BX 的内容是(D)A.0102HB.0101HC.1234HD.0201H18. 下面有语法错误的指令是(B)A.XCHG AX ,[BX]B.XCHG AX ,DSC.XCHG AX ,SID.XCHG AX ,BP19. 条件转移指令JBE 产生转移的条件是(D)A.CF=0 OR ZF=0B.CF=0 OR ZF=1C.CF=1 OR ZF=0D.CF=1 OR ZF=120.XOR AX ,426HJZ DONE上述程序段产生分支的条件是(A)A. 执行前AX=426HB. 执行前AX ≠ 426HC. 执行前AX= 全0D. 执行前AX= 全1二、填空题(本大题共 6 小题,每小题 1 分,共 6 分)请在每小题的空格中填上正确答案。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

///第一章. 习题1.1 用降幂法和除法将下列十进制数转换为二进制数和十六进制数:(1) 369 (2) 10000 (3) 4095 (4) 32767答:(1) 369=1 0111 0001b=171h(2) 10000=10 0111 0001 0000b=2710h(3) 4095=1111 1111 1111b=fffh(4) 32767=111 1111 1111 1111b=7fffh1.2 将下列二进制数转换为十六进制数和十进制数:(1) 10 1101 (2) 1000 0000 (3) 1111 1111 1111 1111 (4) 1111 1111答:(1) 10 1101b=2dh=45(2) 1000 0000b=80h=128(3) 1111 1111 1111 1111b=ffffh=65535(4) 1111 1111b=ffh=2551.3 将下列十六进制数转换为二进制数和十进制数:(1) fa (2) 5b (3) fffe (4) 1234答:(1) fah=1111 1010b=250(2) 5bh=101 1011b=91(3) fffeh=1111 1111 1111 1110b=65534(4) 1234h=1 0010 0011 0100b=46601.4 完成下列十六进制数的运算,并转换为十进制数进行校核:(1) 3a+b7 (2) 1234+af (3) abcd-fe (4) 7ab×6f答:(1) 3a+b7h=f1h=241(2) 1234+afh=12e3h=4835(3) abcd-feh=aacfh=43727(4) 7ab×6fh=35325h=2178931.5 下列各数均为十进制数,请用8位二进制补码计算下列各题,并用十六进制数表示其运算结果。

(1) (-85)+76 (2) 85+(-76) (3) 85-76 (4) 85-(-76) (5) (-85)-76 (6) -85-(-76)答:(1) (-85)+76=1010 1011b+0100 1100b=1111 0111b=0f7h;cf=0;of=0(2) 85+(-76)=0101 0101b+1011 0100b=0000 1001b=09h;cf=1;of=0(3) 85-76=0101 0101b-0100 1100b=0101 0101b+1011 0100b=0000 1001b=09h;cf=0;of=0(4) 85-(-76)=0101 0101b-1011 0100b=0101 0101b+0100 1100b=10100001b=0a1h;cf=0;of=1(5) (-85)-76=1010 1011b-0100 1100b=1010 1011b+1011 0100b=0101 1111b=5fh;cf=0;of=1(6) -85-(-76)=1010 1011b-1011 0100b=1010 1011b+0100 1100b=11110111b=0f7h;cf=0;of=01.6 下列各数为十六进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的带符号数或无符号数时,它们所表示的十进制数是什么?(1) d8 (2) ff答:(1) d8h表示的带符号数为-40,d8h表示的无符号数为216;(2) ffh表示的带符号数为-1,ffh表示的无符号数为255。

1.7 下列各数均为用十六进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的数或字符的ascii码时,它们所表示的十进制数及字符是什么?(1) 4f (2) 2b (3) 73 (4) 59答:(1) 4fh表示的十进制数为79,4fh表示的字符为o;(2) 2bh表示的十进制数为43,2bh表示的字符为+;(3) 73h表示的十进制数为115,73h表示的字符为s;(4) 59h表示的十进制数为89,59h表示的字符为y。

1.8 请写出下列字符串的ascii码值。

for example,this is a number 3692.答:46h 6fh 72h 20h 65h 78h 61h 6dh 70h 6ch 65h 2ch 0ah 0dh54h 68h 69h 73h 20h 69h 73h 20h 61h 20h 6eh 75h 6dh 62h 65h 72h 20h 33h 36h 39h 32h 2eh 0ah 0dh第二章. 习题2.1 在80x86微机的输入/输出指令中,i/o端口号通常是由dx寄存器提供的,但有时也可以在指令中直接指定00~ffh的端口号。

试问可直接由指令指定的i/o端口数。

答:可直接由指令指定的i/o端口数为256个。

2.2 有两个16位字1ee5h和2a3ch分别存放在80x86微机的存储器的000b0h和000b3h单元中,请用图表示出它们在存储器里的存放情况。

答:存储器里的存放情况如右上图所示。

2.3 在ibm pc机的存储器中存放信息如右下图所示。

试读出30022h和30024h字节单元的内容,以及30021h 和30022h字单元的内容。

答:30022h字节单元的内容为abh;30024h字节单元的内容为efh。

30021h字单元的内容为ab34h;30022h 字单元的内容为cdabh。

2.4 在实模式下,段地址和偏移地址为3017:000a的存储单元的物理地址是什么?如果段地址和偏移地址是3015:002a和3010:007a呢?答:3017:000a、3015:002a和3010:007a的存储单元的物理地址都是3017ah。

2.5 如果在一个程序开始执行以前(cs)=0a7f0h,(如16进制数的最高位为字母,则应在其前加一个0) (ip)=2b40h,试问该程序的第一个字的物理地址是多少?答:该程序的第一个字的物理地址是0aaa40h。

2.6 在实模式下,存储器中每一段最多可有10000h个字节。

如果用调试程序debug的r命令在终端上显示出当前各寄存器的内容如下,请画出此时存储器分段的示意图,以及条件标志of、sf、zf、cf的值。

c>debug-rax=0000 bx=0000 cx=0079 dx=0000 sp=ffee bp=0000si=0000 di=0000 ds=10e4 es=10f4 ss=21f0 cs=31ffip=0100 nv up di pl nz na po nc答:此时存储器分段的示意图如右图所示。

of、sf、zf、cf的值都为0。

2.7 下列操作可使用那些寄存器?(1) 加法和减法数据寄存器等(2) 循环计数cx(3) 乘法和除法 ax、dx,乘数和除数用其他寄存器或存储器(4) 保存段地址段寄存器(5) 表示运算结果为0 zf=1(6) 将要执行的指令地址cs:ip(7) 将要从堆栈取出数据的地址ss:sp答:答案见题目的右边。

2.8 那些寄存器可以用来指示存储器地址?答:bx、bp、si、di、堆栈操作时的sp、对应的段地址、386及其后继机型的exx。

2.9 请将下列左边的项和右边的解释联系起来(把所选字母放在括号中):(1) cpu (m) a.保存当前栈顶地址的寄存器。

(2) 存储器(c) b.指示下一条要执行的指令的地址。

(3) 堆栈(d) c.存储程序、数据等信息的记忆装置,微机有ram和rom两种。

(4) ip (b) d.以后进先出方式工作的存储空间。

(5) sp (a) e.把汇编语言程序翻译成机器语言程序的系统程序。

(6) 状态标志(l) f.唯一代表存储空间中每个字节单元的地址。

(7) 控制标志(k) g.能被计算机直接识别的语言。

(8) 段寄存器(j) h.用指令的助记符、符号地址、标号等符号书写程序的语言。

(9) 物理地址(f) i.把若干个模块连接起来成为可执行文件的系统程序。

(10) 汇编语言(h) j.保存各逻辑段的起始地址的寄存器,8086/8088机有四个:cs、ds、ss、es。

(11) 机器语言(g) k.控制操作的标志,如df位。

(12) 汇编程序(e) l.记录指令操作结果的标志,共6位:of、sf、zf、af、pf、cf。

(13) 连接程序(i) m.分析、控制并执行指令的部件,由算术逻辑部件alu和寄存器等组成。

(14) 指令(o) n.由汇编程序在汇编过程中执行的指令。

(15) 伪指令(n) o.告诉cpu要执行的操作(一般还要指出操作数地址),在程序运行时执行。

答:答案见题目的括号中。

第三章. 习题3.1 给定(bx)=637dh,(si)=2a9bh,位移量d=7237h,试确定在以下各种寻址方式下的有效地址是什么?(1) 立即寻址(2) 直接寻址(3) 使用bx的寄存器寻址(4) 使用bx的简接寻址(5) 使用bx的寄存器相对寻址(6) 基址变址寻址(7) 相对基址变址寻址答:(1) 操作数在指令中,即立即数;(2) ea=d=7237h;(3) 无ea,操作数为(bx)=637dh;(4) ea=(bx)=637dh;(5) ea=(bx)+d=0d5b4h;(6) ea=(bx)+(si)=8e18h;(7) ea=(bx)+(si)+d=1004fh;超过了段的边界,最高进位位丢失,因此ea=004fh。

3.2 试根据以下要求写出相应的汇编语言指令(1) 把bx寄存器和dx寄存器的内容相加,结果存入dx寄存器中。

(2) 用寄存器bx和si的基址变址寻址方式把存储器中的一个字节与al寄存器的内容相加,并把结果送到al寄存器中。

(3) 用寄存器bx和位移量0b2h的寄存器相对寻址方式把存储器中的一个字和(cx)相加,并把结果送回存储器中。

(4) 用位移量为0524h的直接寻址方式把存储器中的一个字与数2a59h相加,并把结果送回存储单元中。

(5) 把数0b5h与(al)相加,并把结果送回al中。

答:(1) add dx, bx(2) add al, [bx][si](3) add [bx+0b2h], cx(4) add word ptr [0524h], 2a59h(5) add al, 0b5h3.3 写出把首地址为block的字数组的第6个字送到dx寄存器的指令。

要求使用以下几种寻址方式:(1) 寄存器间接寻址(2) 寄存器相对寻址(3) 基址变址寻址答:(1) mov bx, offset blockadd bx, (6–1)*2mov dx, [bx](2) mov bx, offset block 改为:mov bx, (6-1)*2mov dx, [bx+(6–1)*2] 也可mov dx, block[bx](3) mov bx, offset blockmov si, (6–1)*2mov dx, [bx][si]3.4 现有(ds)=2000h,(bx)=0100h,(si)=0002h,(20100h)=12h,(20101h)=34h,(20102h)=56h,(20103h)=78h,(21200h)=2ah,(21201h)=4ch,(21202h)=b7h,(21203h)=65h,试说明下列各条指令执行完后ax寄存器的内容。

相关文档
最新文档