计算机组成原理与汇编语言程序设计课后习题答案(第2版)
- 格式:docx
- 大小:26.34 KB
- 文档页数:9
第1章计算机系统概论1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?解:计算机系统:由计算机硬件系统和软件系统组成的综合体。
计算机硬件:指计算机中的电子线路和物理装置。
计算机软件:计算机运行所需的程序及相关资料。
硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。
2. 如何理解计算机的层次结构?答:计算机硬件、系统软件和应用软件构成了计算机系统的三个层次结构。
(1)硬件系统是最内层的,它是整个计算机系统的基础和核心。
(2)系统软件在硬件之外,为用户提供一个基本操作界面。
(3)应用软件在最外层,为用户提供解决具体问题的应用系统界面。
通常将硬件系统之外的其余层称为虚拟机。
各层次之间关系密切,上层是下层的扩展,下层是上层的基础,各层次的划分不是绝对的。
3. 说明高级语言、汇编语言和机器语言的差别及其联系。
答:机器语言是计算机硬件能够直接识别的语言,汇编语言是机器语言的符号表示,高级语言是面向算法的语言。
高级语言编写的程序(源程序)处于最高层,必须翻译成汇编语言,再由汇编程序汇编成机器语言(目标程序)之后才能被执行。
4. 如何理解计算机组成和计算机体系结构?答:计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,如指令系统、数据类型、寻址技术组成及I/O机理等。
计算机组成是指如何实现计算机体系结构所体现的属性,包含对程序员透明的硬件细节,如组成计算机系统的各个功能部件的结构和功能,及相互连接方法等。
5. 冯•诺依曼计算机的特点是什么?解:冯•诺依曼计算机的特点是:P8●计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成;●指令和数据以同同等地位存放于存储器内,并可以按地址访问;●指令和数据均用二进制表示;●指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置;●指令在存储器中顺序存放,通常自动顺序取出执行;●机器以运算器为中心(原始冯•诺依曼机)。
第1章计算机系统概论1. 什么是计算机系统、计算机硬件和计算机软件硬件和软件哪个更重要解:计算机系统:由计算机硬件系统和软件系统组成的综合体。
计算机硬件:指计算机中的电子线路和物理装置。
计算机软件:计算机运行所需的程序及相关资料。
硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。
2. 如何理解计算机的层次结构答:计算机硬件、系统软件和应用软件构成了计算机系统的三个层次结构。
(1)硬件系统是最内层的,它是整个计算机系统的基础和核心。
(2)系统软件在硬件之外,为用户提供一个基本操作界面。
(3)应用软件在最外层,为用户提供解决具体问题的应用系统界面。
通常将硬件系统之外的其余层称为虚拟机。
各层次之间关系密切,上层是下层的扩展,下层是上层的基础,各层次的划分不是绝对的。
3. 说明高级语言、汇编语言和机器语言的差别及其联系。
答:机器语言是计算机硬件能够直接识别的语言,汇编语言是机器语言的符号表示,高级语言是面向算法的语言。
高级语言编写的程序(源程序)处于最高层,必须翻译成汇编语言,再由汇编程序汇编成机器语言(目标程序)之后才能被执行。
4. 如何理解计算机组成和计算机体系结构答:计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,如指令系统、数据类型、寻址技术组成及I/O机理等。
计算机组成是指如何实现计算机体系结构所体现的属性,包含对程序员透明的硬件细节,如组成计算机系统的各个功能部件的结构和功能,及相互连接方法等。
5. 冯•诺依曼计算机的特点是什么解:冯•诺依曼计算机的特点是:P8计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成;指令和数据以同同等地位存放于存储器内,并可以按地址访问;指令和数据均用二进制表示;指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置;指令在存储器中顺序存放,通常自动顺序取出执行;机器以运算器为中心(原始冯•诺依曼机)。
计算机组成原理(第二版)课后题答案第1章计算机系统概论1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?解:P3计算机系统:计算机硬件系统和软件系统组成的综合体。
计算机硬件:指计算机中的电子线路和物理装置。
计算机软件:计算机运行所需的程序及相关资料。
硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。
2. 如何理解计算机的层次结构?答:计算机硬件、系统软件和应用软件构成了计算机系统的三个层次结构。
硬件系统是最内层的,它是整个计算机系统的基础和核心。
系统软件在硬件之外,为用户提供一个基本操作界面。
应用软件在最外层,为用户提供解决具体问题的应用系统界面。
通常将硬件系统之外的其余层称为虚拟机。
各层次之间关系密切,上层是下层的扩展,下层是上层的基础,各层次的划分不是绝对的。
3. 说明高级语言、汇编语言和机器语言的差别及其联系。
答:机器语言是计算机硬件能够直接识别的语言,汇编语言是机器语言的符号表示,高级语言是面向算法的语言。
高级语言编写的程序处于最高层,必须翻译成汇编语言,再汇编程序汇编成机器语言之后才能被执行。
4. 如何理解计算机组成和计算机体系结构?答:计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,如指令系统、数据类型、寻址技术组成及I/O机理等。
计算机组成是指如何实现计算机体系结构所体现的属性,包含对程序员透明的硬件细节,如组成计算机系统的各个功能部件的结构和功能,及相互连接方法等。
5. 冯?诺依曼计算机的特点是什么?解:冯?诺依曼计算机的特点是:P86. 画出计算机硬件组成框图,说明各部件的作用及计算机系统的主要技术指标。
答:计算机硬件组成框图如下:计算机运算器、控制器、存储器、输入设备、输出设备五大部件组成;指令和数据以同同等地位存放于存储器内,并可以按地址访问;指令和数据均用二进制表示;指令操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置;指令在存储器中顺序存放,通常自动顺序取出执行;机器以运算器为中心。
第1章计算机系统概论1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?解:计算机系统:由计算机硬件系统和软件系统组成的综合体。
计算机硬件:指计算机中的电子线路和物理装置。
计算机软件:计算机运行所需的程序及相关资料。
硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。
2. 如何理解计算机的层次结构?答:计算机硬件、系统软件和应用软件构成了计算机系统的三个层次结构。
(1)硬件系统是最内层的,它是整个计算机系统的基础和核心。
(2)系统软件在硬件之外,为用户提供一个基本操作界面。
(3)应用软件在最外层,为用户提供解决具体问题的应用系统界面。
通常将硬件系统之外的其余层称为虚拟机。
各层次之间关系密切,上层是下层的扩展,下层是上层的基础,各层次的划分不是绝对的。
3. 说明高级语言、汇编语言和机器语言的差别及其联系。
答:机器语言是计算机硬件能够直接识别的语言,汇编语言是机器语言的符号表示,高级语言是面向算法的语言。
高级语言编写的程序(源程序)处于最高层,必须翻译成汇编语言,再由汇编程序汇编成机器语言(目标程序)之后才能被执行。
4. 如何理解计算机组成和计算机体系结构?答:计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,如指令系统、数据类型、寻址技术组成及I/O机理等。
计算机组成是指如何实现计算机体系结构所体现的属性,包含对程序员透明的硬件细节,如组成计算机系统的各个功能部件的结构和功能,及相互连接方法等。
5. 冯•诺依曼计算机的特点是什么?解:冯•诺依曼计算机的特点是:P8计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成;指令和数据以同同等地位存放于存储器内,并可以按地址访问;指令和数据均用二进制表示;指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置;指令在存储器中顺序存放,通常自动顺序取出执行;机器以运算器为中心(原始冯•诺依曼机)。
第1章计算机系统概论1. 什么是计算机系统、计算机硬件和计算机软件硬件和软件哪个更重要解:计算机系统:由计算机硬件系统和软件系统组成的综合体。
计算机硬件:指计算机中的电子线路和物理装置。
计算机软件:计算机运行所需的程序及相关资料。
硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。
2. 如何理解计算机的层次结构答:计算机硬件、系统软件和应用软件构成了计算机系统的三个层次结构。
(1)硬件系统是最内层的,它是整个计算机系统的基础和核心。
(2)系统软件在硬件之外,为用户提供一个基本操作界面。
(3)应用软件在最外层,为用户提供解决具体问题的应用系统界面。
通常将硬件系统之外的其余层称为虚拟机。
各层次之间关系密切,上层是下层的扩展,下层是上层的基础,各层次的划分不是绝对的。
3. 说明高级语言、汇编语言和机器语言的差别及其联系。
答:机器语言是计算机硬件能够直接识别的语言,汇编语言是机器语言的符号表示,高级语言是面向算法的语言。
高级语言编写的程序(源程序)处于最高层,必须翻译成汇编语言,再由汇编程序汇编成机器语言(目标程序)之后才能被执行。
4. 如何理解计算机组成和计算机体系结构答:计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,如指令系统、数据类型、寻址技术组成及I/O机理等。
计算机组成是指如何实现计算机体系结构所体现的属性,包含对程序员透明的硬件细节,如组成计算机系统的各个功能部件的结构和功能,及相互连接方法等。
5. 冯诺依曼计算机的特点是什么解:冯诺依曼计算机的特点是:P8计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成;指令和数据以同同等地位存放于存储器内,并可以按地址访问;指令和数据均用二进制表示;指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置;指令在存储器中顺序存放,通常自动顺序取出执行;机器以运算器为中心(原始冯诺依曼机)。
第1章计算机系统概论1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?解:计算机系统:由计算机硬件系统和软件系统组成的综合体。
计算机硬件:指计算机中的电子线路和物理装置。
计算机软件:计算机运行所需的程序及相关资料。
硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。
2. 如何理解计算机的层次结构?答:计算机硬件、系统软件和应用软件构成了计算机系统的三个层次结构。
(1)硬件系统是最内层的,它是整个计算机系统的基础和核心。
(2)系统软件在硬件之外,为用户提供一个基本操作界面。
(3)应用软件在最外层,为用户提供解决具体问题的应用系统界面。
通常将硬件系统之外的其余层称为虚拟机。
各层次之间关系密切,上层是下层的扩展,下层是上层的基础,各层次的划分不是绝对的。
3. 说明高级语言、汇编语言和机器语言的差别及其联系。
答:机器语言是计算机硬件能够直接识别的语言,汇编语言是机器语言的符号表示,高级语言是面向算法的语言。
高级语言编写的程序(源程序)处于最高层,必须翻译成汇编语言,再由汇编程序汇编成机器语言(目标程序)之后才能被执行。
4. 如何理解计算机组成和计算机体系结构?答:计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,如指令系统、数据类型、寻址技术组成及I/O机理等。
计算机组成是指如何实现计算机体系结构所体现的属性,包含对程序员透明的硬件细节,如组成计算机系统的各个功能部件的结构和功能,及相互连接方法等。
5. 冯•诺依曼计算机的特点是什么?解:冯•诺依曼计算机的特点是:P8●计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成;●指令和数据以同同等地位存放于存储器内,并可以按地址访问;●指令和数据均用二进制表示;●指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置;●指令在存储器中顺序存放,通常自动顺序取出执行;●机器以运算器为中心(原始冯•诺依曼机)。
第1章计算机系统概论1. 什么是计算机系统、计算机硬件和计算机软件?硬件和软件哪个更重要?解:计算机系统:由计算机硬件系统和软件系统组成的综合体。
计算机硬件:指计算机中的电子线路和物理装置。
计算机软件:计算机运行所需的程序及相关资料。
硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要。
2. 如何理解计算机的层次结构?答:计算机硬件、系统软件和应用软件构成了计算机系统的三个层次结构。
(1)硬件系统是最内层的,它是整个计算机系统的基础和核心。
(2)系统软件在硬件之外,为用户提供一个基本操作界面。
(3)应用软件在最外层,为用户提供解决具体问题的应用系统界面。
通常将硬件系统之外的其余层称为虚拟机。
各层次之间关系密切,上层是下层的扩展,下层是上层的基础,各层次的划分不是绝对的。
3. 说明高级语言、汇编语言和机器语言的差别及其联系。
答:机器语言是计算机硬件能够直接识别的语言,汇编语言是机器语言的符号表示,高级语言是面向算法的语言。
高级语言编写的程序(源程序)处于最高层,必须翻译成汇编语言,再由汇编程序汇编成机器语言(目标程序)之后才能被执行。
4. 如何理解计算机组成和计算机体系结构?答:计算机体系结构是指那些能够被程序员所见到的计算机系统的属性,如指令系统、数据类型、寻址技术组成及I/O机理等。
计算机组成是指如何实现计算机体系结构所体现的属性,包含对程序员透明的硬件细节,如组成计算机系统的各个功能部件的结构和功能,及相互连接方法等。
5. 冯•诺依曼计算机的特点是什么?解:冯•诺依曼计算机的特点是:P8●计算机由运算器、控制器、存储器、输入设备、输出设备五大部件组成;●指令和数据以同同等地位存放于存储器内,并可以按地址访问;●指令和数据均用二进制表示;●指令由操作码、地址码两大部分组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置;●指令在存储器中顺序存放,通常自动顺序取出执行;●机器以运算器为中心(原始冯•诺依曼机)。
汇编语言程序设计课后习题答案(第二版_沈美明)(无删减)第一章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位二进制补码计算下列各题,并用十六进制数表示其运算结果。
4.10给定(BX)=637DH,(SI)=2A9BH,位移量D=7237H,试确定在以下各种寻址方式下的有效地址是什么答案:(1)立即寻址没有 IP的内容(2)直接寻址 7237H ;MOV AX,[7237H](3)使用BX的寄存器寻址没有 ;MOV AX,BX(4)使用BX的间接寻址 637DH ;MOV AX,[BX](5)使用BX的寄存器相对寻址 0D5B4H ;MOV AX,D[BX](6) 基址变址寻址 8E18H ;MOV AX,[BX][SI](7)相对基址变址 004FH ;MOV AX,D[BX][SI]4.11.求执行两条指令后,各标志位的状态MOV AL,91 ;执行后,(AL)=91=5BHADD AL,0BAH加法执行如下:0BA H 10111010+ 05B H 01011011115 H 1 0001 0101CF:显然最高位产生了进位(两个加数都是两位的,和却有三位),CF=1AF:低四位向高四位产生了进位(A+B产生进位),AF=1ZF:运算结果不为0,ZF=0SF:运算结果最高位为0(高四位:1H=0001B),SF=0OF:负+正=正(两个加数的符号位不同),没有溢出,OF=04-12(1)MOV AL,0F5H 正确(2)ADD [BX][BP],BX 错误,不能同时使用[BX][BP]进行寻址(3)CMP AL,100H 错误,AL为8位,100H大于8位,类型不匹配。
(4)TEST [BP],DL 正确(5)ADC 15,CL 错误,目的操作数不能是立即数(6)SUB [DI],DA_WORD 错误,两个操作数不能同时是存储器操作数。
(7)OR CH,CL 正确(8)MOV AL,1000H 错误,AL为8位,1000H为16位,类型不匹配。
(9)SAR 10H[DI],2 错误,AL为8位,移位多次必须CL中。
(10)NOT AL,BL 错误,逻辑非操作是单操作指令。
(11)DEC CX,1 错误,逻辑非操作是单操作指令。
(12)LEA ES,TAB[BX] 错误,目的寄存器只能是通用寄存器。
4-13、根据下列要求,写出相应的汇编指令答案:(1)ADD AL,[BX][SI](3)ADD [BX][0B2H], CX(4)MOV AX,2A59HADD [0524H] ,AX(5)ADD AL,0B5H4-14、答案:(1)寄存器间接寻址MOV BX, OFFSET TABLEADD BX, 08HMOV DX ,[BX](2)寄存器相对寻址MOV SI,O8HMOV DX,[TABLE][SI](3)基址变址寻址MOV BX , TABLEMOV SI,O8HMOV DX,[BX][SI]4-15 15、假设(DS)=091DH,(SS)=1E4AH,(AX)=1234H,(BX)=0024H,(CX)=5678H,(BP)=0024H,(SI)=0012H,(DI)=0032H,(09226H)=00F6H,(09228H)=1E40H,(1E4F6H)=091DH。
试给出下列各指令或程序段的分别执行的结果。
答:(1)MOV CL,20H[BX][SI]有效地址EA=20H+[BX]+[SI] =20H+0024H+0012H=0056H逻辑地址DS:0056H物理地址=091D0H+0056H=09226H (逻辑地址左移1为加有效地址)CL=[09226H]=0F6H(2)MOV [BP][DI],CX有效地址EA=[BP]+[DI] =0024H+0032H=0056H逻辑地址SS:0056H物理地址=1E4A0H+0056H=1E4F6H[1E4F6H]=CX=5678H(3)LEA BX,20H[BX][SI]MOV AX,2[BX]有效地址EA=20H+[BX]+[SI] =20H+0024H+0012H=0056HBX=0056H有效地址EA=2H+[BX]=2H+0056H=0058H逻辑地址DS:0058H物理地址=091D0H+0058H=09228HAX=[09228H]=1E40H(4)LDS SI,[BX][DI]MOV [SI],BX有效地址EA=[BX]+[DI] =0024H+0032H=0056H逻辑地址DS:0056H物理地址=091D0H+0056H=09226HSI=[09226H]=00F6HDS=[09226H+2H]=[09228H]=1E40H有效地址EA=[SI]= 00F6H逻辑地址DS:00F6H物理地址=1E400H+00F6H=1E4F6H[1E4F6H]=BX=0024H(5)XCHG CX,32H[BX]XCHG 20H[BX][SI],AX有效地址EA=32H+[BX] =32H+0024H=0056H逻辑地址DS:0056H物理地址=091D0H+0056H=09226HCX=[09226H]=00F6H[09226H]=5678H有效地址EA=20H+[BX]+[SI] =20H+0024H+0012H=0056H逻辑地址DS:0056H物理地址=091D0H+0056H=09226H[09226H]= 1234HAX=5678H4-16 (01400)=1234H应改为(01410)=1234H分析:有效地址EA=10H+[SI]= 10H+0400H=0410H逻辑地址DS:0100H物理地址=01000H+0410H=01410HMOV AX ,10H[SI] ;传送的是源操作数的内容AX=1234HLEA AX ,10H[SI] ;传送的是源操作数的有效地址AX=0410H4-17mov ax,1234h ;将1234h这个16进制数放到ax寄存器中mov bx ,5678h ;同理,将5678h这个16进制数放到bx这个寄存器中push ax ;将ax压栈,即将1234h放到栈顶push bx ;将bx压栈,即将5678h放到1234h上面(即栈顶)pop cx ;弹出当前栈顶元素(5678h),并将其传送给cx,即(cx)=5678h4-18写出执行以下计算的指令序列,其中X,Y,Z,R和W均为存放16位带符号数单元的地址。
(1)Z←W+(Z-X)(2)Z←W-(X+6)-(R+9)(3)Z←(W*X)/(Y+6),R←余数(4)Z←((W-X)/5*Y)*2 本题与书上不尽相同参考下题答案:(1). MOV AX,Z ;把Z送到AXSUB AX,X ;Z-XADD AX,W ;W+(Z-X)MOV Z,AX ;结果保存在Z中(2).MOV AX,R ;R送到AX中ADD AX,9 ;R+9MOV BX,X ;X送到BX中ADD BX,6 ;X+6ADD AX,BX ;(R+9)+(X+6),结果保存在AX中MOV BX,W ; W送到BX中SUB BX,AX ; W-(R+9)-(X+6),连续减去两个数,相当于减去这两个数的和~~MOV Z,BX ;最终结果送到Z中(3).MOV AX,W ;把W送到AXIMUL X ;W*X 注意:低十六位保存在AX里,高十六位保存在DX里MOV BX,Y ;把Y送到BX 里ADD BX,6 ;Y+6IDIV BX ;(W*X)/(Y+6) 注意:商保存在AX里,余数保存在DX里MOV Z,AX ;把商送到Z中,MOV R,DX ;把余数送到R中(4).MOV AX,W ;把W送到AX中SUB AX,X ;W-XCWD ;把AX中的十六位带符号数扩展成为32位,低十六位保存在AX中,高十六位保;在DX中MOV BX,5 ;把5送到BX中IDIV BX ;(W-X)/5 被除数为32位,除数为16位商为16位IMUL Y ;上一步结果再乖以Y,积为32位MOV BX,2 ;把2送到BX中IMUL BX ;上一步乘法所得的积再乘以2,各为64位MOV Z,EAX ;把结果中低32位放入Z双字单元中,超出范围MOV [Z+4],EDX ;把结果中高32位放入Z+4双字单元中,超出范围请参考下题试编制一程序,计算下列公式的值,将商存放在Z单元,余数放在R单元内中。
X、Y、Z、R、W分别为存放16位带符号数单元的地址。
计算过程中中间结果和最后结果在16位二进制数范围内Z =(W-Z)/(5*Y)*2MOV AX,W ;把W送到AX中SUB AX,X ;W-XMOV BX,2 ;把2送到BX中MUL BX ;先乘以2PUSH AX ;保存中间结果(W-Z)*2MOV AX,5 ;把5送到AX中MUL Y ;5再乖以Y,乘机在AX中MOV BX,AX ;5*Y再放到BX中POP AX ;返回中间结果(W-Z)*2XOR DX,DXDIV BX ;实现(W-Z)*2/(5*Y),商在AX中,余数在DX中MOV Z,AXMOV R,DX4-19.给了一定初始寄存器条件,问执行一段程序后,几个寄存器中应该是什么内容(遇到这种题目,应当把所有寄存器列一个表格,每一条指令分析完后,填上新的一行寄存器内容,这样才不容易出错,逐条指令分析,每条指令都使用上条指令执行完后新的寄存器内容。
下面我们按照这种思路来分析这段程序)(DS)=1234H,(SI)=124H,(12464H)=30ABH,(12484H)=464H(考试时可以用自己的方式简写寄存器状态,提高速度)1)LEA SI,[SI]分析:EA=(SI)=124H指令执行完后,(SI)=(SI)=124H(注意LEA指令的功能,不要搞成MOV指令了)引起的寄存器内容变化:无(仅列出当前变化了的,能提高解题速度)2)MOV AX,[SI]分析:EA=(SI)=124H 默认使用DS物理地址=12340H+124H=12464H执行后,寄存器变化为:(AX)=(12464H)=30ABH3)MOV [SI+22H],1200H分析:[SI+22H]=22H[SI] EA=22H+(SI)=22H+124H=146H 默认使用DS物理地址=12340H+146H=12486H执行后,寄存器没有变化,存储单元变化为:(12486H)=1200H4)LDS SI,[SI+20H]分析:[SI+20H]=20H[SI] EA=20H+(SI)=20H+124H=144H 默认使用DS物理地址=12340H+144H=12484H当前:(12484H)=464H (12486H)=1200H执行后,变化:(SI)=(12484H)=464H,(DS)=(12486H)=1200H5)ADD AX,[SI]分析:EA=(SI)=464H 默认使用DS物理地址=12000H+464H=12464H执行后,变化:(AX)=(AX)+(12464H)=30ABH+30ABH=6156H4-20.假定了一些寄存器初始内容,问执行一段程序后某些寄存器和标志位的内容。