微机原理与接口技术课后答案清华版

合集下载

微机原理与接口技术(第二版)课后习题答案完整版

微机原理与接口技术(第二版)课后习题答案完整版

微机原理与接口技术(第二版)清华大学出版社习题 11.什么是汇编语言,汇编程序,和机器语言?答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。

汇编语言是面向及其的程序设计语言。

在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。

这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。

使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。

2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么?答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。

这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。

3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。

答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。

“存储程序控制”的概念可简要地概括为以下几点:①计算机(指硬件)应由运算器、存储器、控制器和输入 /输出设备五大基本部件组成。

② 在计算机内部采用二进制来表示程序和数据。

③ 将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。

④ 五大部件以运算器为中心进行组织。

4.请说明微型计算机系统的工作过程。

答:微型计算机的基本工作过程是执行程序的过程,也就是CPU 自动从程序存放的第 1 个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。

如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。

5.试说明微处理器字长的意义。

答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。

它决定着计算机内部寄存器、 ALU 和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。

微机原理与接口技术课后习题答案

微机原理与接口技术课后习题答案

微机原理与接口技术习题参考答案第一章(p20)1、参考答案:冯•诺伊曼计算机的设计思想(EDVAC方案:存储程序通用电子计算机方案):①计算机分为计算器、控制器、存储器、输入和输出装置五个部分;②计算机内采用二进制;③将程序存储在计算机内,简称“程序存储”。

其中第三点是冯•诺依曼计算机设计的精华,所以人们又把冯•诺依曼原理叫做程序存储原理,即程序由指令组成并和数据一起存放在存储器中,机器则按程序指定的逻辑顺序把指令从存储器中读出来并逐条执行,从而自动完成程序描述的处理工作。

冯•诺伊曼计算机主要以运算器和控制器为中心,结构框图如下图所示。

2、参考答案:微处理器就是中央处理器CPU,是计算机的核心,单独的CPU不能构成计算机系统;微型计算机由微处理器、主存储器、I/O接口(注意:不是I/O设备)组成;而微型计算机系统除了包括微型计算机外,还有系统软件(即操作系统)、应用软件、外存储器和I/O设备等。

微型计算机系统结构如下图所示。

3、答案略,见p6~74、答案略,见图2,或教材图1-35、答案略,见p12~136、参考答案:由于8086微处理器的地址总线的宽度为20位,所以它可寻址220=1M字节的存储空间;而PentiumII微处理器的地址总线的宽度为36位,所以它可寻址236=64G字节的存储空间。

7、参考答案:①PCI(Peripheral Component Interconnect:外围设备互联),是Intel公司1992年发布486微处理器时推出的32/64位标准总线,数据传输速率位132MB/s,适用于Pentium微型计算机。

PCI总线是同步且独立于微处理器的具有即插即用(PNP:Plug and play,所谓即插即用,是指当板卡插入系统时,系统会自动对板卡所需资源进行分配,如基地址、中断号等,并自动寻找相应的驱动程序)的特性.PCI总线允许任何微处理器通过桥接口连接到PCI 总线上。

《微机原理与接口技术》课后习题答案

《微机原理与接口技术》课后习题答案
原码:X=11101011反码:X=10010100补码:X=10010101
9.微型计算机系统的硬件由哪些部件组成?简述它们的主要功能。
答:构成计算机的硬件系统通常有“五大件”组成:输入设备、输出设备、存储器、运算器和控制器。
输入设备:将数据、程序、文字符号、图象、声音等信息输送到计算机中。常用的输入设备有,键盘、鼠标、数字化仪器、光笔、光电阅读器和图象扫描器以及各种传感器等。
12。如果从存储单元2000H开始存放的字节数据为:3AH,28H,56H,4FH试画出示意图说明:从2000H到2001H单元开始取出一个字数据各要进行几次操作,取出的数据分别等于多少.
答:(2000H)=3AH,(2001H)=28H,(2002H)=56H,(2003H)=4FH,从2000H取一个字要1次操作,数据为283AH;从2001H取一个字要2次操作,数据为5628H。
2)反码,是计算机中表示二进制数的一种方法,若原码的符号位不变,对其余位逐位取反,即得到其反码
3)补码,正数的补码与原码相同,负数的补码:符号位为1,其余位为该数绝对值的原码按位取反,然后整个数加1。
4)性质
7.计算机中为什么采用补码形式存储数据?当计算机的字长n=16时,补码的数据表示范围是多少?
答: 1)ASCII码的编码方法是使用7位二进制数来表示所有的大写和小写字母,数字0到9、标点符号,以及在美式英语中使用的特殊控制字符
2)十进制205的ASCII码是:011 000 101
3)字符串A+B=C的ASCII码是:412B423D43
5.机器数与真值有什么区别?机器数有哪些特点?
答:1)真值是所表示的数的大小,一般用十进制表征。
答:AD15~AD0:地址/数据总线;A19/S6~A16/S3:地址/状态总线; :读控制

微机原理与接口技术课后答案

微机原理与接口技术课后答案

第1章微型计算机系统概述1. 简述微型计算机系统的组成。

2. 简述计算机软件的分类及操作系统的作用。

3. CPU是什么?写出Intel微处理器的家族成员。

4. 写出10条以上常用的DOS操作命令。

[参考答案]1.答:微型计算机系统由硬件和软件两大部分组成,硬件又可细分为主机(由CPU、存储器、控制电路、接口等构成)、输入设备(如键盘)和输出设备(如显示器);软件可细分为系统软件(如操作系统)和应用软件。

3.答CPU(Central Processing Unit中央处理单元)是计算机的核心部件,它包括控制器和算术逻辑运算部件等。

Intel 微处理器的家族成员有:8088/8086、80186、80286、80386、80486、Pentium(80586)、Pentium Ⅱ、Pentium Ⅲ 和Pentium IV。

第2章计算机中的数制和码制1. 将下列十进制数转换成二进制数:(1) 49;(2)73.8125;(3) 79.752. 将二进制数变换成十六进制数:(1)101101B;(2)1101001011B;(3)1111111111111101B;(4)100000010101B;(5)1111111B;(6)10000000001B3. 将十六进制数变换成二进制数和十进制数:(1)FAH;(2)5BH;(3)78A1H;(4)FFFFH; (5) 34.2AH;(6)B8.93H4. 将下列十进制数转换成十六进制数:(1)39;(2)299.34375;(3)54.56255. 将下列二进制数转换成十进制数:(1)10110.101B;(2)10010010.001B;(3)11010.1101B6. 计算(按原进制运算):(1)10001101B+11010B;(2)10111B+11100101B;(3)1011110B-1110B;(4)124AH+78FH;(5)5673H+123H;(6)1000H-F5CH;7. 已知a=1011B,b=11001B,c=100110B, 按二进制完成下列运算,并用十进制运算检查计算结果:(1)a+b;(2)c-a-b;(3)a·b;(4)c/b8. 已知a=00111000B, b=11000111B, 计算下列逻辑运算:(1)a AND b;(2)a OR b;(3)a XOR b;(4)NOT a9. 设机器字长为8位,写出下列各数的原码和补码:(1)+1010101B;(2)-1010101B;(3)+1111111B;(4)-1111111B;(5)+1000000B;(6)-1000000B10. 写出下列十进制数的二进制补码表示(设机器字长为8位):(1)15;(2)-1;(3)117;(4)0;(4)-15;(5)127;(6)-128;(7)8011. 设机器字长为8位,先将下列各数表示成二进制补码,然后按补码进行运算,并用十进制数运算进行检验:(1)87-73;(2)87+(-73);(3)87-(-73);(4)(-87)+73;(5)(-87)-73;(6)(-87)-(-73);12. 已知a,b,c,d为二进制补码:a=00110010B, b=01001010B, c=11101001B, d=10111010B, 计算:(1)a+b;(2)a+c;(3)c+b;(4)c+d;(5)a-b;(6)c-a;(7)d-c;(8)a+d-c13. 设下列四组为8位二进制补码表示的十六进制数,计算a+b和a-b,并判断其结果是否溢出:(1)a=37H, b=57H; (2)a=0B7H, b=0D7H;(3)a=0F7H, b=0D7H; (4)a=37H, b=0C7H14. 求下列组合BCD数的二进制和十六进制表示形式:(1)3251(2)12907(3)ABCD(4)abcd15. 将下列算式中的十进制数表示成组合BCD码进行运算,并用加6/减6修正其结果:(1)38+42;(2)56+77;(3)99+88;(4)34+69;(5)38-42;(6)77-56;(7)15-76;(8)89-2316. 将下列字符串表示成相应的ASCII码(用十六进制数表示):(1)Example 1;(2)Jinan University;(3)-108.652;(4)How are you?;(5)Computer(6)Internet Web17. 将下列字符串表示成相应的ASCII码(用十六进制数表示):(1)Hello(2)123<CR>456;(注:<CR>表示回车)(3)ASCII;(4)The number is 2315[参考答案]1.解:(1)49=0011 0001B (2)73.8125=0100 1001.1101B(3)79.75=0100 1111.11B3. 解:(1)FAH=1111 1010B=250D (2)5BH=0101 1011B=91D(3)78A1H=0111 1000 1010 0001B=30881D(4)FFFFH=1111 1111 1111 1111B=65535D5. 解:(1)10110.101B=22.625 (2)10010010.001B=146.0625(3)11010.1101B=26.81257. 解:a=1011B=11, b=11001B=25, c=100110B=38(1)a+b=100100B=36 (2)c-a-b=10B=2(3)a·b=100010011B=275 (4)c/b=1……1101B(=13)9. 解:(1)+1010101B 原码01010101B 补码01010101B(2)-1010101B 原码11010101B 补码10101011B(3)+1111111B 原码01111111B 补码01111111B(4)-1111111B 原码11111111B 补码10000001B(5)+1000000B 原码 01000000B 补码01000000B(6)-1000000B 原码 11000000B 补码11000000B11. 解:按补码表示+87=0101 0111B;+73=0100 1001B;-87=1010 1001B;-73=1011 0111B(1)87-73=0101 0111B-0100 1001B=1110B=14(2)87+(-73)=0101 0111B+1011 0111B=[1]0000 1110B=14(舍去进位)(3)87-(-73)=0101 0111B-1011 0111B=[-1]1010 0000B=-96(溢出)(4)(-87)+73=1010 1001B+0100 1001B=1111 0010B=-14(5)(-87)-73=1010 1001B-0100 1001B=[-1]0110 0000B=96(溢出)(6)(-87)-(-73)=1010 1001B-1011 0111B=1111 0010B=-1413. 解:(1)a=37H, b=57H; a+b=8EH; a-b=[-1]E0H=-32(2)a=0B7H, b=0D7H; a+b=[1]8EH=-114; a-b=[-1]E0H=-32(3)a=0F7H, b=0D7H; a+b=[1]CEH=-50; a-b=20H=32(4)a=37H, b=0C7H; a+b=FEH=-2; a-b=[-1]70H=11215. 解:(1)将38、42表示成组合BCD码:38H、42H,然后按二进制进行运算,并根据运算过程中的AF,CF进行加6/减6修正。

习题6参考答案-微机原理与接口技术(第2版)-李珍香-清华大学出版社

习题6参考答案-微机原理与接口技术(第2版)-李珍香-清华大学出版社

习题与思考题66.1 参考答案:按总线功能或信号类型来分,有数据总线、地址总线和控制总线。

按总线的层次结构分来为,有:CPU总线:微机系统中速度最快的总线,主要在CPU内部,连接CPU内部部件,在CPU周围的小范围内也分布该总线,提供系统原始的控制和命令。

局部总线:在系统总线和CPU总线之间的一级总线,提供CPU和主板器件之间以及CPU到高速外设之间的快速信息通道。

系统总线:也称为I/O总线,是传统的通过总线扩展卡连接外部设备的总线。

由于速度慢,其功能已经被局部总线替代。

通信总线:也称为外部总线,是微机与微机,微机与外设之间进行通信的总线。

常用的系统总线有:ISA总线、PCI总线、AGP总线、PCI-Express总线常用的外总线有:USB总线、IEEE 1394总线6.2 参考答案:(1)可以简化系统结构,便于系统设计制造。

(2)大大减少连线数目,便于布线,减小体积,提高系统的可靠性。

(3)便于接口设计,所有与总线连接的设备均可采用类似的接口。

(4)便于系统的扩充、更新与灵活配置,易于实现系统模块化。

(5)便于设备的软件设计和故障的诊断、维修等。

6.3参考答案:使用标准总线,不仅可以简化设计,有利于组织大规模专业化生产,缩短研制周期,同时也为灵活配置系统以及系统的升级、改造和维护带来了方便。

总线标准的一般特性规范包含:(1)物理特性定义总线物理形态和结构布局,规定总线的形式(电缆、印制线或接插件)及具体位置等。

(2)机械特性定义总线机械连接特性,其性能包括接插件的类型、形状、尺寸、牢靠等级、数量和次序等。

(3)功能特性定义总线各信号线功能,不同信号实现不同功能。

(4)电气特性定义信号的传递方向、工作电平、负载能力的最大额定值等。

6.4总线位宽:是指总线上能同时传送的数据位数,用bit(位)表示。

总线带宽(总线最大传输率):是指单位时间内总线上可传送的数据量,可用字节数/秒(B/s)或比特数/秒(b/s)表示总线工作频率:是指用于控制总线操作周期的时钟信号频率,所以也叫总线时钟频率,通常以MHz 为单位。

微机原理与接口技术课后习题答案_清华大学出版社

微机原理与接口技术课后习题答案_清华大学出版社

微机原理与接口技术课后部分习题参考答案第一章2. 第3项任务,状态标志位的状态决定转移方向。

3. 程序存储是将要执行的程序的全部指令存储到存储器中,程序控制指程序开始执行后,通过指令流控制数据或计算机,完成设定的任务。

4. 分BIU 总线接口部件和EI执行部件两大部件,其中总线接口部件BIU负责取指令和数据,执行部件EI负责执行指令及运算。

在执行一条指令的同时可以取下一条指令,重叠运行,速度快。

5. 有6个状态标志,分别为进位标志CF、溢出标志OF、零标志ZF、奇偶标志PF、负标志SF、辅助进位标志AF。

3个控制标志分别为中断允许标志IF、单步标志TF、方向标志DF。

标志位的内容可以通过标志位操作指令来操作,例如CLC指令清除进位位,即使CF=0,STC指令使CF=1,CLI指令使IF=0,禁止中断,STI指令使IF=1,允许中断。

还可以通过LAHF指令取来标识寄存器的内容修改后用SAHF指令送回去。

也可以用PUSHF/POPF指令来修改标志寄存器的内容。

6. 实模式下分段靠4个段寄存器实现。

段寄存器中的值就是段地址,当偏移地址为0时的段地址+偏移地址就是该段的起始地址。

物理地址是由段地址左移4位后与偏移地址相加形成的20位地址。

7. 说法不一定正确。

对顺序执行指令的计算机是对的。

对重叠或流水线的计算机就不对了。

例如对8086CPU,由于采用了取指令与执行指令的一次重叠,尽管执行一条指令的总时间并没有变化,但连续执行n条指令时,总的时间会大大缩短,可以简单的比喻成总时间为原时间的二分之一,快了一倍。

8. 引入流水线后,执行一条指令的总时间并没有变化。

9. 高速缓存的目的是提高存储器的速度,进而提高了CPU的速度。

虚拟存储器的目的是为了给程序员或程序一个大的存储或运行空间。

10。

8086采用总线接口部件BIU与执行部件EU分开提高了速度,286将8086的BIU进一步分成3个部件,提高了并行性。

386在286基础上进一步增加成6个逻辑部件,实现多条指令重叠,进一步提高了速度,486采用硬组合逻辑控制器,同时采用内嵌高速缓存,提高速度。

专升本微机原理_清华版_第五章(二)

专升本微机原理_清华版_第五章(二)

移位指令的特点: 指令码 目标,计数值 ; 目标只能是寄存器、存储器,计数值只能是1或CL中 的值; 影响标志位的情况: 移位指令:除AF=任意值外,其余的根据结果而定 循环移位指令:只影响OF和CF(与逻辑运算指令刚好 相反)
P128 将AL中的值乘以10 的例子: SAL AL,1 ; AL=AL*2 MOV BL,AL ;将2X存于BL中 MOV CL,2 ;移位次数存入CL SAL AL,CL ;在乘以2的基础上再移两位相 当于乘以8 ADD AL,BL ;加上2X则=乘以10 例如,原AL=00000011B (3) 移一位得 00000110B (6), 00000110B 再移两位得 00011000B (24) 00011000B + 00000110B = 00011110B (30) 结果 3*10=30
OR 目标,源 (常用于将二进制数的某些位置1)
OR AL,30H; OR AX,00F0H OR BYTE PTR[BP],0FH OR BL, 0FH xxxxxxxx (BL)
OR
00001111 0F xxxx1111 结果(BL)
XOR 目标,源 (用于将二进制数的某些位求反,将要求反的某些 位与1异或。或对于某寄存器清0)
串扫描(影响标志位)
执行的操作: ①如(CX)=0或ZF=1(某次比较的结果两个操作数相等) 则退出REP,否则往下执行。 ② CX CX-1 例: ③ 执行其后SCAS串指令 MOV DI, OFFSET String ④ 重复①-③
MOV CX, xx MOV AL, ‗h‘ REPNZ SCASB JNZ Not_Found Found:
3.串比较(影响标志位) CMPSB CMPSW 比较地址为DS:SI、ES:DI的两 个字节/字

(完整word版)微机原理和接口技术课后习题和参考答案解析

(完整word版)微机原理和接口技术课后习题和参考答案解析

第一章课后习题1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。

① 16.25 ② 35.75 ③ 123.875 ④ 97/1281.2 把下列二进制数转换成十进制数。

① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.11.3 把下列八进制数转换成十进制数和二进制数。

① 756.07 ② 63.73 ③ 35.6 ④ 323.451.4 把下列十六进制数转换成十进制数。

① A7.8 ② 9AD.BD ③ B7C.8D ④ 1EC1.5 求下列带符号十进制数的8位补码。

① +127 ② -1 ③ -0 ④ -1281.6 求下列带符号十进制数的16位补码。

① +355 ② -11.7 计算机分那几类?各有什么特点?1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。

1.9 80X86微处理器有几代?各代的名称是什么?1.10 你知道现在的微型机可以配备哪些外部设备?1.11 微型机的运算速度与CPU的工作频率有关吗?1.12 字长与计算机的什么性能有关?习题一参考答案1.1 ① 16.25D=10000.01B=20.2Q=10.4H② 35.75D=100011.11B=43.6Q=23.CH③ 123.875D=1111011.111B=173.7Q=7B.EH④ 97/128D=64/123+32/128+1/128=0.1100001B=0.604Q=0.C2H1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D③ 111.01B=7.25D ④ 1010.1B=10.5D1.3 ① 756.07Q=111101110.000111B=494.109D ②63.73Q=110011.111011B=51.922D③ 35.6Q=11101.110B=29.75D ④323.45Q=11010011.100101B=211.578D1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D③ B7C.8D=2940.551D ④ 1ECH=492D1.5 ① [+127]补=01111111 ② [-1]补= 11111111③ [-0]补=00000000 ④[-128]补=100000001.6 ① [+355]补= 0000000101100011 ② [-1]补= 1111 1111 1111 11111.7 答:传统上分为三类:大型主机、小型机、微型机。

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

微机原理、汇编与接口技术(朱定华 编著)第三章习题参考答案一作者:华中科技大学 释梵本参考答案绝大多数经过上机测试,但因作者水平有限,一定尚有缺漏,希望大家批评指正,QQ:564630776,本参考答案将有绪本,不得用于商业用途!The answers below use the macros like this:standardstack macrostack segment stack 'stack'dw 32 dup(0)stack endsendmstandardstart macrobegin proc farassume ss:stack,cs:code,ds:datapush dssub ax,axpush axmov ax,datamov ds,axendm3.1 编写程序实现下列运算(式中W为字变量,B为字节变量,不考虑溢出,除法余数不再参与运算)说实话,不考虑溢出,令我很费解,这样的得数还有意义吗?但是回头一想,单从作作业的角度来看倒是省了不少脑子,呵呵,那我就不考虑了。

(1) W1+W2+28-W3->W4if1include MACRO.LIBendifstandardstackdatasegmentW1dw 12W2dw 34W3dw 21W4dw 0code segmentstandardstartmov ax,W1add ax,W2add ax,28sub ax,W3mov W4,axretbegin endpcode endsend begin(2)(W1-W2)/10->W3...W4 if1include MACRO.LIB endifstandardstackdatasegmentW1dw 12W2dw 34W3dw 0W4dw 0dataendscode segmentstandardstartmov ax,W1sub ax,W2mov dl,10idiv dlmov bl,almov bh,0mov cl,ahmov ch,0mov W3,bxmov W4,cxretbegin endpcode endsend begin(3)(B1*B2)/(B3+6)->B4...B5 if1include MACRO.LIB endifstandardstackdatasegmentB1db 1B3db 3B4db 0B5db 0dataendscode segmentstandardstartmov al,B1imul B2mov bl,B3add bl,6idiv blmov B4,almov B5,ahretbegin endpcode endsend begin(4)((B1+B2-B3)/B4*B5)/2->W if1include MACRO.LIB endifstandardstackdatasegmentB1db 5B2db 4B3db 3B4db 2B5db 1W dw 0dataendscode segmentstandardstartmov bl,B1add bl,B2sub bl,B3mov al,B4mul B5xchg bx,axidiv bxmov cl,2idiv clmov byte ptr W,alretbegin endpcode ends3.2 编写程序段实现下列BCD数运算(式中字节变量B和AB分别为压缩BCD数和非压缩BCD数,字节变量W为压缩BCD数)(1)B1+B2-(B3-B4)->B5if1include MACRO.LIBendifstandardstackdatasegmentB1db 19HB2db 38HB3db 44HB4db 15HB5db 00Hdataendscode segmentstandardstartmov al,B1add al,B2DAAadd al,B4DAAsub al,B3DASmov B5,alretbegin endpcode endsend begin(2)W1+W2->W3if1include MACRO.LIBendifstandardstackdatasegmentW1dw 4455HW2dw 6677HW3dw 0000Hdataendscode segmentstandardstartmov al,byte ptr[W1]add al,byte ptr[W2]DAAmov byte ptr[W3],almov al,byte ptr[W1+1]DAAadd al,byte ptr[W2+1]DAAmov byte ptr[W3+1],al;here we ignore the highest cf according to the subject retbegin endpcode endsend begin(3)AB1*AB2/AB3->AB4if1include MACRO.LIBendifstandardstackdatasegmentAB1db 07HAB2db 08HAB3db 09HAB4db 00Hdataendscode segmentstandardstartmov ah,0mov al,AB1AADmov bl,almov al,AB2AADmul blmov cx,axmov ah,0mov al,AB3AADmov dl,almov ax,cxdiv dlAAMmov AB4,alretbegin endpcode endsend beginif1include MACRO.LIBendifstandardstackdatasegmentAB1db 07HAB2db 08HB db 00Hdataendscode segmentstandardstartmov ah,0mov al,AB1AADmov cl,10mul clpush axmov al,AB2AADmov bx,axpop axadd ax,bxAAMmov cl,4shl ah,clor al,ahmov B,alretbegin endpcode endsend begin3.3 写出执行下列程序段的中间结果和结果(1)0048 0702(2)00590411010704(3)01010107(4)这里的mov dl,10 因为我理解题意为十进制数10005A09000908(5)62(6)02483.4 编写程序,将字节变量BVAR中的压缩BCD数转换为二进制数,并存入原变量中。

if1include MACRO.LIBendifstandardstackdatasegmentbvar db 78Hdataendscode segmentstandardstartmov al,bvarmov ah,almov cl,4shr ah,cland al,0FHaadmov bvar,alretbegin endpcode endsend begin3.5 编写程序,求字节变量W1和W2中的非压缩BCD数之差(W1-W2、W1>=W2),将差存到字节变量B3中。

if1include MACRO.LIBendifstandardstackdatasegmentW1dw 0708HW2dw 0504HB3db 00Hdataendscode segmentstandardstartmov ax,W1mov cl,4shl ah,clor al,ahmov bl,almov ax,W2shl ah,clor al,ahxchg al,blsub al,bldasmov B3,alretcode endsend begin3.6 编写求两个4位非压缩BCD数之和,将和送显示器显示的程序。

if1include MACRO.LIBendifstandardstackdatasegmentW1db 0,4,0,5,0,6,0,7W2db 0,1,0,2,0,3,0,9result db 5 dup(0),'$'dataendscode segmentstandardstartmov cx,4mov ax,0mov si,7mov di,4bitand:add al,byte ptr W1[si]aaaadd al,byte ptr W2[si]aaaadd al,30Hmov result[di],alsub si,2dec dimov al,ahmov ah,0loop bitandadd al,30Hmov result[di],almov dx,offset resultcmp result[0],30Hjne showinc dxshow:mov ah,9int 21Hretbegin endpcode endsend begin3.7 编写求两个4位压缩BCD数之和,将和送显示器显示的程序。

if1endifstandardstackdatasegmentW1db 56H,18HW2db 97H,42Hresult db 5 dup(0),'$'dataendscode segmentstandardstartmov al,byte ptr W1[1]add al,byte ptr W2[1]daamov ah,aland ah,0F0Hmov cl,4shr ah,cland al,0FHadd al,30Hadd ah,30Hmov result[4],almov result[3],ahmov ax,0adc al,byte ptr W1add al,byte ptr W2daajnc omitmov result,31Homit:mov ah,aland ah,0F0Hmov cl,4shr ah,cland al,0FHadd al,30Hadd ah,30Hmov result[2],almov result[1],ahmov al,resultsub al,31Hjz showmov dx,offset result+1mov ah,9int 21Hretshow:mov dx,offset result mov ah,9int 21Hretbegin endpcode endsend begin注:不知道是我的版本不对,还是MS做的东西就是这个样子的。

在我的masm中指令je不能够正确地汇编,会被翻译成jz,所以我无奈地选用了jz,希望同学们注意,不要跟我走一样的弯路。

而且这种问题不仅存在与这一个指令哦!我还碰到一个,但是什么让我忘记了。

相关文档
最新文档