微型计算机原理王忠民课后参考答案汇编语言程序设计
汇编语言程序设计(第四版)【课后答案】
汇编语言程序设计第四版【课后习题答案】第1章汇编语言基础知识〔习题1.1〕简述计算机系统的硬件组成及各部分作用。
〔解答〕CPU:包括运算器、控制器和寄存器组。
运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为处理单元提供所需要的数据。
存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。
外部设备:实现人机交换和机间的通信。
〔习题1.2〕明确下列概念或符号:主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB。
〔解答〕主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。
辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速度慢。
RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电后能保存信息。
存储器由大量存储单元组成。
为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常称做I/O端口。
KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。
〔习题1.3〕什么是汇编语言源程序、汇编程序、目标程序?〔解答〕用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编译通过的程序就是目标程序。
〔习题1.4〕汇编语言与高级语言相比有什么优缺点?〔解答〕汇编语言与高级语言相比的优点:由于汇编语言本质就是机器语言,它可以直接地、有效地控制计算机硬件,因而容易产生运行速度快,指令序列短小的高效目标程序,可以直接控制计算机硬件部件,可以编写在“时间”和“空间”两方面最有效的程序。
微机原理王忠民版课后答案
部分习题答案(3) 0.1101 1B= 0.84375 = 0.D8H (4) 11110.01 B= 30.25 =1E.4H3、完成下列二进制数的加减法运算(1)1001.11 + 100.01 = 1110.0001110101.0110(4) 01011101.0110 — 101101.1011 = 101111.10114、 完成下列十六进制数的加减法运算(1) 745CH + 56DFH= D14B H (2)ABF.8H — EF6.AH = 9C28.E H(3)12AB.F7 + 3CD.05= 1678 .FC H (4) 6F01H — EFD8H= 7F29 H5、 计算下列表达式的值 103.CEH(3) 18.9 + 1010.1101B + 12.6H — 1011.1001 = 36.525 6、选取字长n 为8位和16位两种情况,求下列十进制数的补码。
(1) X=— 33的补码: ⑵ Y=+ 33的补码: 0010 0001 ,0000 0000 0010 0001⑶Z=— 128 的补码:1000 0000 , 1111 1111 1000 0000⑷ N=+ 127的补码:0111 1111 , 0000 0000 0111 1111A=— 65的补码:1011 1111 , 1111 1111 1011 1111 ⑹ B=+ 65的补码: 0100 0001 , 0000 0000 0100 0001 ⑺ C=— 96的补码:1010 0000 , 1111 1111 1010 0000(8) D=+ 96的补码:0110 0000 , 0000 0000 0110 0000 7、写出下列用补码表示的二进制数的真值(1) [X 补=1000 0000 0000 0000 H X = — 1000 0000 0000 0000 H =— 32768(2)[Y 补=0000 0001 0000 0001 HY = + 0000000100000001 H =+ 257(3) [Z 补=1111 1110 1010 0101 HZ= — 0000 0001 0101 1011 H =—347(4)[A 补=0000 0010 0101 0111 HA= + 0000 0010 0101 0111 H =+ 5998、设机器字长为8位,最高位为符号位,试对下列格式进行二进制补码运算,并判断结果是否溢出。
微机原理王忠民版 课后答案
部分习题答案第二章计算机中的数值与编码1、将十进制数转换为二进制与十六进制(1) 129、75=1000 0001、11B=81、CH(2) 218、8125=1101 1010、1101B=DA、DH(3) 15、625=1111、101B=F、AH(4) 47、15625=10 1111、0010 1B=2F、28 H2、将下列二进制数转换为十进制与十六进制(1) 111010 B=58 =3A H(2) 1011 1100、111B= 188、875= BC、E H(3) 0、1101 1B=0、84375 =0、D8H(4) 11110、01 B=30、25 =1E、4H3、完成下列二进制数的加减法运算(1) 1001、11+100、01=1110、00(2) 1101010110、1001-01100001、0011=01110101、0110(3) 00111101+10111011= (4) 01011101、0110-101101、1011=101111、10114、完成下列十六进制数的加减法运算(1) 745CH+56DFH=D14B H (2) ABF、8H-EF6、AH=9C28、E H(3) 12AB、F7+3CD、05=1678 、FC H(4) 6F01H-EFD8H=7F29 H5、计算下列表达式的值(1) 128、8125+10110101、1011B+1F、2H=101010101、1010B(2) 287、68-10101010、11H+8E、EH=103、CEH(3) 18、9+1010、1101B+12、6H-1011、1001=36、5256、选取字长n为8位与16位两种情况,求下列十进制数的补码。
(1) X=-33的补码: 1101 1111, 1111111111011111(2) Y=+33的补码: 0010 0001, 0000 0000 0010 0001(3) Z=-128的补码:1000 0000, 1111 1111 1000 0000(4) N=+127的补码:0111 1111, 0000 0000 0111 1111(5) A=-65的补码: 1011 1111, 1111 1111 1011 1111(6) B=+65的补码: 0100 0001, 0000 0000 0100 0001(7) C=-96的补码: 1010 0000, 1111 1111 1010 0000(8) D=+96的补码: 0110 0000, 0000 0000 0110 00007、写出下列用补码表示的二进制数的真值(1) [X]补=1000 0000 0000 0000 H X=-1000 0000 0000 0000 H=-32768(2) [Y]补=0000 0001 0000 0001 H Y=+0000 0001 0000 0001 H=+257(3) [Z]补=1111 1110 1010 0101 H Z=-0000 0001 0101 1011 H=-347(4) [A]补=0000 0010 0101 0111 H A=+0000 0010 0101 0111 H=+5998、设机器字长为8位,最高位为符号位,试对下列格式进行二进制补码运算,并判断结果就是否溢出。
第三章8088汇编语言程序设计微机原理第2版课后答案
第三章8088汇编语⾔程序设计微机原理第2版课后答案第三章 8088汇编语⾔程序设计本章的主要内容是汇编语⾔语句⾏的构成,源程序的结构,汇编语⾔程序设计⽅法。
3.1 重点与难点本章的学习重点是结构化程序设计思想,顺序、分⽀、循环结构的程序设计,⼦程序结构的设计与调⽤,中断指令的应⽤。
另外,汇编语⾔伪指令的使⽤、源程序的结构等也是必须掌握的。
3.1.1 汇编语⾔语句⾏的构成1.标记(1)标识符:由数字、字母和下划线组成,且不能以数字开头,最⼤长度不超过31个字符。
(2)保留字:汇编语⾔中保留下来的具有特殊⽤途的字串,如指令、伪指令、寄存器名等都是保留字。
保留字不可⽤作标识符。
(3)界符:程序或指令中两个部分的分隔符号。
汇编语⾔源程序中可⽤的界符:′〈〉;,:? $ () + - = &[] * / ·(4)常量:数字常量,可以使⽤不同的进制D、B、H、Q;字符串常量,由引号引起来的字符串,相当给出字符所对应的ASCII码串。
2.符号及其属性(1)寄存器:8086/8088 CPU的寄存器可以作为指令的操作数。
(2)变量:即内存单元的符号地址。
变量不能与保留字、段名重名。
它有三个属性:段属性,指变量所在段的段地址;偏移量,指变量所在段的起始地址到变量地址之间的字节数,即偏移(有效、逻辑)地址。
类型,指指变量具有的字节数,包括BYTE、WORD、DWORD、QWORD和TBYTE等。
(3)标号:即代码段中某条指令的符号地址,由编程者根据需要确定的。
标号不能与保留字重名,可使⽤字母、数字及下划线,但不允许⽤数字开头,字符个数不超过31个。
标号作为符号地址也有三个属性:段、偏移量和类型(NEAR、FAR)。
3.表达式表达式是作为语句的⼀个操作数,在汇编时⼀个表达式得到⼀个值。
(1)操作数数据——常数、符号常量;存储单元地址——常⽤符号地址表⽰。
(2)运算符算术运算符:+、-、*、/、MOD。
对地址的运算仅有+(加)、-(减)运算符。
微型计算机原理课后习题答案,王忠民主编,DOC
王忠民主编西安电子科技大学出版部分习题答案第二章计算机中的数值和编码1、将十进制数转换为二进制和十六进制(1)129.75=10000001.11B=81.CH(2)218.8125=11011010.1101B=2、3451F.2H=103.CEH(3) 18.9+1010.1101B+12.6H-1011.1001=36.5256、选取字长n为8位和16位两种情况,求下列十进制数的补码。
(1) X=-33的补码:1101(2) Y=+33的补码:00100001,0000000000100001(3) Z=-128的补码:10000000,1111111110000000(4) N=+127的补码:01111111,0000000001111111(5) A=-65的补码:10111111,11111111101111117=-=+=-=+8并判断结果是否溢出。
(1)43+8∵ [43]补=00101011B,[8]补=00001000B∴ [43]补+[8]补=00101011B+00001000B=00110011B=33H00101011B+00001000B00110011B∵C S=0,C D=0,OF=C S⊕C D=0⊕0=0∴无溢出(无(溢9z=?,10111000B①若为无符号数②若为带符号补码数∵CF=1 ∴不正确∵CF=1,DF=1 OF=0∴不溢出x+y=0B8H x+z=61H y+z=3BH z+v=0CCH①不正确不正确不正确正确②不溢出不溢出不溢出溢出第三章80X86微处理器1.简述8086/8088CPU中BIU和EU的作用,并说明其并行工作过程。
答:(1)BIU的作用:计算20位的物理地址,并负责完成CPU与存储器将从内2.4BX(Base)称为基址寄存器。
用来存放操作数在内存中数据段内的偏移地址,CX(Counter)称为计数器。
在设计循环程序时使用该寄存器存放循环次数,可使程序指令简化,有利于提高程序的运行速度。
微型计算机原理(第二版)第5章
9
第5章 汇编语言程序设计
1 分段结构 汇编语言源程序的结构是分段结构形式,一个汇编语言
源程序由若干段(SEGMENT)组成,每个段以SEGMENT语句 开始,以ENDS语句结束。整个源程序的结尾是END语句。
微处理器对存储器的管理是分段的,因此,在汇编语言 程序中也要求分段组织指令、数据和堆栈,以便将源程序汇 编成为目标程序后,可以分别装入存储器的相应段中。
21
第5章 汇编语言程序设计 ② 寄存器。如ADD AX,CX ③ 标号。标号可以作为转移(无条件转移或条件转移)、过程 调用CALL以及循环控制LOOP指令的操作数。
如 JMP NEXT ④ 变量。因为变量是存储器中某个数据区的名字,所以在 指令中可以作为存储器操作数。
如 MOV AL,X1
22
将被看成是标识符,如常数B7H应写成0B7H,FFH应写成 0FFH。
字符串常数是由单引号括起来的一串字符。例如'179'和
'ABCDEFG'。单引号内的字符在汇编时都以ASCII的代码形式 存放在存储单元中。如上述两字符串的ASCII代码为41H,42H, 43H,44H,…,48H和31H,37H,39H。字符串最长允许有 255个字符。
DWORD (双字)、 QWORD (四字)、TBYTE(十字)等,表示数 据区中存取操作对象的大小。
17
第5章 汇编语言程序设计 (2) 助记符
汇编语言语句中的第二个组成部分是助记符(Memonic)。 在指令语句中,如MOV、ADC等。约有90多种,在指令 系统中的指令。 在伪指令语句中,如DB、SEGMENT、ENDS、END等。 它们在程序中的作用是定义变量的类型、定义段以及告诉汇编 程序结束汇编等。
汇编语言程序设计课后习题答案习题2详解
习题2写出从汇编语言源程序的建立到产生可执行文件的步骤和上机操作命令。
步骤:1.编辑形成文件(MY为文件名)2.汇编形成文件3.连接形成MYEXE文件上机操作:1.进入dos命令行方式2.在汇编语言的系统工作文件目录下,键入:Edit 按回车键编辑3.MASM MY 按回车键汇编4.LINK MY按回车键连接5.MY 按回车键运行6.DEBUG 按回车键进行调试。
列表文件.LST实在什么阶段产生的列表文件有哪些内容列表文件是在汇编的时候产生的执行 MASM 程序名程序名程序名按回车键就会在汇编的同时产生列表文件。
列表文件里有源程序和机器语言清单,指令和变量的偏移地址等等。
写出定义一个代码段的语句,段名为MYPRG。
MYPRG SEGMENTASSUME CS:MYPRGStart:Code endsEnd start源程序中用什么语句来结束程序的执行用什么语句来表示程序的结束和指出程序执行的起点。
MOV ah,4chINT 21h 结束程序的执行并返回到操作系统。
Code ends 程序结束End start 指出程序执行的起点汇编语言源程序的文件扩展名是什么把他改为.exe扩展名以后,可以认为是可执行程序么答:源文件的扩展名为.ASM。
改为.exe后不可能是可执行程序,源文件只有经历汇编行成机器指令,然后连接才能形成可执行程序列出子目录C:\YOUPRG下的扩张名为.ASM的所有文件,在D盘根目录下建立一个子目录,并进子目录MYPRG,再把C:YOUPRG下的文件YOU .ASM复制到D :\MYPRG下。
写出完成以上要求的DOS 命令。
答:C:\YOUPRG>DIY *.ASMC:\YOUPRG>D:D:\MD MYPRGD:\CD MYPRGD:\MYPRG>COPY C:\YOUPRG> D:\MYPRG2.7下图为DEBUG调入的可执行程序,回答以下问题:(1)程序的起始物理地址是多少结束地址是多少(2)CS寄存器的值是什么(3)程序的功能是什么(4)写出查看DS:0处内容的DEBUG命令。
汇编语言程序设计(第二版)课后习题答案-精品资料
汇编语言程序设计(第二版)课后习题答案第二章1.解答:有256个2.解答:如下图.第一个络子为000B0H字单元,注意,是字单元,第五个格子为000B3H字单元E51E3C2A3.解答:30022H字节单元内容:ABH30024H字节单元内容:EFH30021H字单元内容:AB34H30022H字单元内容:CDABH4.解答:这三个物理地址都是3017AH,说明了不同的段地址和偏移地址对应同一物理地址5.解答:CS+IP第一个字的物理地址为:0AAA40H6.解答:条件标志OF,SF,ZF,CF,的值依次为:0,0,0,07.下列操作可使用那些寄存器?(1)加法和减法AX,BX,CX,DX,当然,还有这几个通用寄存器的高低位了,如AH,AL等(2)循环计数CX(3)乘法和除法DX,AX,AH,AL(4)保存段地址CS,DS,ES,SS(5)表示运算结果为O FLAGS(6)将要执行的指令地址IP(7)将要从堆栈取出数据的地址BP,SP,SS8.可以用来指示存储器地址的寄存器有:BX,SP,BP,DI,CS,DS,SI,ES,SS,IP9.一一对应;5--A4--B2--C3--D12--E9--F11--G10--H13--I8--J7--K6---L1--M15--N14--O第三章1.(1)立即寻址没有(2)直接寻址7237H(3)使用BX的寄存器寻址没有(4)使用BX的间接寻址637DH(5)使用BX的寄存器相对寻址0D5B4H(6)基址变址寻址8E18H(7)相对基址变址004FH2.根据下列要求,写出相应的汇编指令。
(1)ADD DX,BX(2)ADDAL,[BX][SI](3)ADD[BX][0B2H],CX(4)MOV AX,2A59H ADD[0524H],AX(5)ADDAL,0B5H3.(1)寄存器间接寻址MOVBX,OFFSET[BLOCK][0AH]MOV DX,[BX](2)寄存器相对寻址MOV SI,OAHMOVDX,[BLOCK][SI](3)基址变址寻址MOVBX,BLOCKMOVSI,OAHMOVDX,[BX][SI]4.现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(21200)=2AH,(20201)=4CH,(21202)=B7H,(21203)=65H,试说明下列各条指令执行完后,AX寄存器的内容。
微机原理与汇编语言程序设计课后习题参考答案
第一章习题与参考答案1. 微处理器,微型计算机和微型计算机系统三者之间有何区别?答:微处理器即CPU,它包括运算器、控制器、寄存器阵列和内部总线等部分,用于实现微型计算机的运算和控制功能,是微型计算机的核心;一台微型计算机由微处理器、内存储器、I/O接口电路以及总线构成;微型计算机系统则包括硬件系统和软件系统两大部分,其中硬件系统又包括微型计算机和外围设备;由此可见,微处理器是微型计算机的重要组成部分,而微型计算机系统又主要由微型计算机作为其硬件构成。
2. CPU在内部结构上由哪几部分构成?CPU应具备哪些主要功能?答:CPU在内部结构上由运算器、控制器、寄存器阵列和内部总线等各部分构成,其主要功能是完成各种算数及逻辑运算,并实现对整个微型计算机控制,为此,其内部又必须具备传递和暂存数据的功能。
3. 累加器和其它通用寄存器相比有何不同?答:累加器是通用寄存器之一,但累加器和其它通用寄存器相比又有其独特之处。
累加器除了可用做通用寄存器存放数据外,对某些操作,一般操作前累加器用于存放一个操作数,操作后,累加器用于存放结果。
4. 微型计算机的总线有哪几类?总线结构的特点是什么?答:微型计算机的总线包括地址总线、数据总线和控制总线三类,总线结构的特点是结构简单、可靠性高、易于设计生产和维护,更主要的是便于扩充。
5. 举出10个微型计算机应用的例子。
答:略6. 计算机I/O接口有何用途?试列出8个I/O接口。
答:计算机I/O接口是连接计算机和外部设备的纽带和桥梁,它主要用于协调和控制计算机与外设之间的信息流通和交换。
例如:串行通讯口(COM口)、并行打印机口、软盘驱动器接口、硬盘驱动器接口、光驱接口、显示器接口、音响设备接口、其它通用设备接口(USB、SCSI等)。
7. 现在,计算机主板上一般都包括哪些I/O接口?I/O接口卡如何与主板相连?答:现在,计算机主板上一般包括串行通讯口、并行打印口、软盘驱动器接口、硬盘驱动器接口、光驱接口、USB接口等。
汇编语言程序设计(第四版)第1-5章【课后答案】
第1章汇编语言基础知识〔习题1.1〕简述计算机系统的硬件组成及各部分作用。
〔解答〕CPU:包括运算器、控制器和寄存器组。
运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为处理单元提供所需要的数据。
存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。
外部设备:实现人机交换和机间的通信。
〔习题1.2〕明确下列概念或符号:主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB。
〔解答〕主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU 可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。
辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速度慢。
RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电后能保存信息。
存储器由大量存储单元组成。
为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常称做I/O端口。
KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。
〔习题1.3〕什么是汇编语言源程序、汇编程序、目标程序?〔解答〕用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编译通过的程序就是目标程序。
〔习题1.4〕汇编语言与高级语言相比有什么优缺点?〔解答〕汇编语言与高级语言相比的优点:由于汇编语言本质就是机器语言,它可以直接地、有效地控制计算机硬件,因而容易产生运行速度快,指令序列短小的高效目标程序,可以直接控制计算机硬件部件,可以编写在“时间”和“空间”两方面最有效的程序。
微型计算机汇编语言程序设计课后题答案
微型计算机汇编语言程序设计课后题答案习题 11.1 什么是汇编语言?为什么要学习汇编语言?【解】:汇编语言是机器语言的符号表示形式。
汇编语言将机器语言指令和地址符号化,程序员只需要记住符号名并用其编程,汇编器负责把汇编程序翻译成机器指令和正确的地址数值。
大多数程序应该也可以用高级语言编写,但是在某些情况下汇编语言也是必不可少的。
汇编语言可以访问计算机的所有指令,可以利用计算机的所有特性,而高级语言就没有这样的能力,高级语言能做的事情汇编语言都能做,而汇编语言能做的高级语言不一定能做到。
学习汇编语言的原因主要有两个:性能和对计算机的完全控制。
一般而言,汇编语言具有如下特点:执行速度快;程序短小;可以直接控制硬件;可以方便地编译;辅助计算机工作者掌握计算机体系结构。
1.2 把下列十进制数转换成二进制数、八进制数、十六进制数:① 6.25 ② 5.75 ③ 0.875 ④ 254【解】:① 6.25D = (6.25)10 = (110.01)2= (110.010)2 = (6.2)8= (0110.0100)2 = (6.4)16② 5.75 D = (5.75)10 = (101.11)2= (101.110)2 = (5.6)8= (0101.1100)2 = (5.C)16③ 0.875 D = (0.875)10 = (0.111)2= (0.111)2 = (0.7)8= (0.1110)2 = (0.E)16④ 254 D = (254)10 = (1111 1110)2= (011 111 110)2 = (376)8= (1111 1110)2 = (FE)161.3 把下列二进制数转换成十进制数① 1101.01 ② 111001.00011 ③ 111.001 ④ 1010.1【解】:① 1101.01B=(1101.01)2 =1×23 + 1×22+ 0×21+ 1×20+ 0×2-1+ 1×2-2=8+4+0+1+0+0.25=13.25D= (13.25)10② 111001.00011B=(111001.00011)2=1×25 + 1×24+ 1×23+ 0×22+ 0×21+ 1×20+ 0×2-1+ 0×2-2+ 0×2-3+ 1×2-4+ 0×2-5=32+16+8+0+0+1+0+0+0+0.0625+0.03125=57.093725D= (57.093725)10③ 111.001B =(111.001)2 =1×22 + 1×21+ 1×20+ 0×2-1+ 0×2-2+ 1×2-3=4+2+1+0+0.25+0.125=7.125D= (7.125)103 210-1=8+0+2+0+0.5=10.5D= (10.5)101.4 把下列八进制数转换成十进制数① 776.07 ② 72.73 ③ 235.6 ④ 123.45 【解】:① 776.07Q =(776.07)8 =7×82 + 7×81 + 6×80 + 0×8-1 + 7×8-2=448 + 56 + 6 + 0 + 0.109375=510.109375D= (510.109375)10② 72.73Q =(72.73)8 =7×8+ 2×80 + 7×8-1 + 3×8-2=56 + 2 + 0.875 + 0.046875=58.921875D= (58.921875)10③ 235.6Q =(235.6)8 =2×82 + 3×81 + 5×80 + 6×8-1=128 + 24 + 5 + 0 + 0.75=157.75D= (157.75)10④ 123.45Q =(123.45)8 =1×82 + 2×81 + 3×80 + 4×8-1 + 5×8-2=64 + 16 + 3 + 0.5 + 0.078125=83.578125D= (83.578125)101.5 把下列十六进制数转换成十进制数① A6.DC ② 9AC.BD ③ B4A.8D ④ 1AC.0A 【解】:①A6.DC H =(A6.DC)16 =A×161 + 6×160 + D×16-1 + C×16-2=10×161 + 6×160 + 13×16-1 + 12×16-2=160 + 6 + 0.8125 + 0.046875=166.859375D= (166.859375)10②9AC.BD H =(9AC.BD)16 =9×162 + A×161 + C×160 + B×16-1 + D×16-2=9×162 + 10×161 + 12×160 + 11×16-1 + 13×16-2=2304 + 160 + 12 + 0.6875 + 0.05078125=2476.73828125D= (2476.73828125)10③ B4A.8D H =(B4A.8D)16 =B×162 + 4×161 + A×160 + 8×16-1 + D×16-2=11×162 + 4×161 + 10×160 + 8×16-1 + 13×16-2=2816 + 64 + 10 + 0.5 + 0.05078125=2890.55078125D= (2890.55078125)10④ 1AC.0A H =(1AC.0A)16 =1×162 + A×161 + C×160 + 0×16-1 + A×16-2=1×162 + 10×161 + 12×160 + 0×16-1 + 10×16-2=256 + 160 + 12 + 0 + 0.0390625=428.0390625D= (428.0390625)101.6 把下列英文单词转换成ASCII编码的字符串① Water ② Great ③ Good ④ After【解】①Water对应的ASCII码:57H61H74H65H72H③Good对应的ASCII码:47H6FH6FH64H④After对应的ASCII码:41H66H74H65H72H1.7 回车键、空格键的ASCII代码及其功能是什么?【解】:回车键CR,编码值为0EH。
微型计算机原理-第5章(2)微机原理与接口技术(第三版)(王忠民)
DS、
INT
ES
数2…0据H
PSP(256 字节)
附段加
CSS:SPSIP定义了代 堆段段段堆码栈栈段的用程用序户
户程序装入情况
第5章 汇编语言程序设计
DSEG SEGMENT STRING1 DB 1,2,3,4,5
DSEG ENDS ESEG SEGMENT
STRING2 DB 5 DUP(?) ESEG ENDS SSEG SEGMENT
CPU、存储器(ROM、RAM)、I/O接口、输入、输出设备
上机过程
第5章 汇编语言程序设计
编辑程序 编辑
汇编程序 汇编
连接程序 连接
手写程序
EDIT .ASM文件
MASM .OBJ文件
LINK .EXE文件
有语法错误 无法正常连接 有算法错误
第5章 汇编语言程序设计
用户程序的装入
完成以下操作: 确定内存可用部分 以便存放要执行的 .exe 文
INC
BX
ADD AL,[BX]
MOV SUM,AL
RET
ENDP CODE END
MAIN
ENDS START
第5章 汇编语言程序设计 第二讲结束
每一种知识都需要努力, 都需要付出,感谢支持!
知识就是力量,感谢支持!
一一一一谢谢大家!!
STACK‘STACK’ DW 10 DUP(?) SSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG ASSUME ES:ESEG,SS:SSEG
START: MOV AX,DSEG MOV DS,AX MOV AX,ESEG MOV ES,AX
LEA SI, STRING1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.画图说明下列语句所分配的存储空间及初始化情况。
(1)
42H59H54H45H00HEEH00H07H01H02H01H02H07H00H07H01H02H01H02H07H00H07H01H02H0 1H02H07H
(2)00H00H01H00H02H00H00H00H01H00H02H00H00H00H01H00H02H00H00H00H01H00H02H00H 00H00H01H00H02H00H07H00HFBHFFH59H42H45H54H02H56H
2.(PLENTH)=22H;它表示数据与的长度
3.(L)=06H
4.(1)MOVBXOFFSETLNAME
(2)MOVSIWORDPTRCODE_LIST
(3)MOVCODE_LENGTHEQU$-CODE_LIST
5.(AX)=10
(BL)=10
(CL)=1
6.(1).(AX)=1
(2).(AX)=2
(3).(CX)=20
(4).(DX)=40
(5).(CX)=1
7.是说明下列指令中那些需要加上PR伪指令定义符。
(1).不需要(2)不需要(3)SUB[BX],WORDBYTE2(或其他形式)(4).MOVCL,BYTEPTRWVAL
8.编一宏定义BXCHG,将一字节高4位和低4位交换。
BXCHGMARCOOPR
MOVAL,OPR
MOVCL,04H
ROLAH,CL
RORAL,CL
ORAH,AL
MOVOPR,AH
ENDM
9.已知宏定义,展开宏调用:OPPBH,BL,CH,CL
+MOVAX,BX
+XCHGAL,CL
+MOVAX,BL
+XCHGAL,CH
+MOVBL,AL
10.将寄存器中的16位数分成四组,每组四位,分别存放在AL,BL,CL和DL中。
MOVCH,04H
MOVCL,AL
MOVDL,AL
SHRCL,CH
ANDDL,AH
MOVAL,AH
MOVBL,AH
SHRAL,CH
ANDBL,0FH
11.试编写一程序,要求比较两个字符串STRING1和STRING2所含字符是否相同,若相同则显示MATCH,若不相同则显示NOMATCH.
解:DATASEGMENT
STRING1DB‘ABCDE’
STRING2DB‘ABCDEF’
MESG1DB‘MATCH$’
MESG2DB‘MATCH$’
DATAENDS
STACKSEGMENT
BUFDB100DUP()
STACKENDS
CODESEGMENT
MAINPROCFAR
START:PUSHDS
MOVAX,0
PUSHAX
PUSHES
MOVAX,DATA
MOVDS,AX
MOVAL,STRING1
MOVCL,6
MOVSI,OFFSETSTRING1
MOVDI,OFFSETSTRING2
CLD
REPECMPSB
JZALLMATCH
MOVDXOFFSETMESG2
MOVAH,9
INT21H
RET
ALLMATCH:MOVDXOFFSETMESG1
MOVAH9
MOV21H
RET
MAINENDP
CODEENDS
ENDSTART
13.编写程序,将一个包含有20个数据的数组M分成两个数组,正数组P和负数组,分别把这两个数组中的数据的个数显示出来。
解:DATASEGMENT
MDB1,2,3,4,5,6,7,8,9,10
DB-1,-2,-3,-4,-5,-6,-7,-8,-9,-10
PDB20DUP()
NDB20DUP()
DATAENDS
CODESEGMENT
MAINPROCFAR
START:PUSHDS
MOVAX,0
PUSHAX
MOVAX,DATA
MOVDS,AX
MOVAL,0
MOVSIOFFSETM
MOVCX20H
LOOP1:MOVBL,M[SI]
CMPAL,M[SI
JAELOOP2
MOVN,BL
INCSI
CMPCX,20H
JZLOOP3
JMPLOOP1
LOOP2:DECCX
MOVP,BL
INCSI
CMPCX,20H
JZLOOP3
JMPLOOP1
LOOP3:MOVDX,OFFSETP
MOVAH,9
INT21H
MOVDX,OFFSETN
MOVAH,9
INT21H
RET
MAINENDP
CODEENDS
ENDSTART
20.编写程序,求字节变量BVAR中的压缩BCD数转换为二进制数,并存入原变量中。
解:DATASEGMENT
BVARDW53H,00H
DATAENDS
CODESEGMENT
MAINPROCFAR
ASSUMECS:CODE,DS:DATA
START:PUSHDS
MOVAX,0
PUSHDS,AX
MOVAX,DATA
MOVDS,AX
MOVAL,BYTEPTRSW
MOVAH,AL
ANDAX,0F00FH
MOVCL,4
SHLAH,CL
MOVSW,AX
RET
MAINENDP
CODEENDS
ENDSTART。