微机作业汇编程序参考标准答案
中南大学《微型机原理与汇编语言》课程作业(在线作业)三及参考答案
(一) 单选题1.8086/8088的中断系统能够处理多少个不同的中断源()。
(A) 16 (B) 32 (C) 128 (D) 256参考答案:(D)2.执行指令JBOPR,能使程序发生转移的条件为()。
(A)(B)(C)(D)参考答案:(C)3.设,,则执行指令JMPWORD PTR后,寄存器IP中的内容为()。
(A) 0100H (B) 2000H (C) 0080H (D) 0012H参考答案:(C)4.8086/8088的每个中断向量占多少个字节()。
(A) 1 (B) 2 (C) 3 (D) 4参考答案:(D)5.串操作指令以下列哪个寄存器指向源操作数()。
(A) DI (B) SI (C) AX (D) BX参考答案:(B)6.DOS操作系统使用的中断类型号范围是()。
(A) 00H~1FH (B) 20H~3FH (C) 40H~5FH (D) 60H~7FH参考答案:(B)7.指令JNPOPR的转移条件是()。
(A) 状态标志位PF为1 (B) 状态标志位OF为1 (C) 状态标志位PF为0 (D) 状态标志位OF为0参考答案:(B)8.指令CLD的功能是()。
(A) 状态位DF清零(B) 状态位ZF清零(C) 状态位SF清零(D) 状态位CF清零参考答案:(A)9.指令JSOPR的转移条件是()。
(A) 状态标志位SF为1 (B) 状态标志位CF为1 (C) 状态标志位SF为0 (D) 状态标志位CF为0参考答案:(A)10.设,,,,,,则执行指令JMPDWORD PTR后,寄存器IP中的值为()。
(A) 5000H (B) 0080H (C) 3000H (D) 2012H参考答案:(B)(二) 多选题1.汇编语言程序设计中对段定义的伪指令中通常指明段的类型,除了DWORD、WORD和BYTE类型外,还有哪几种类型()。
(A) PUBLIC (B) PAGE (C) COMMON (D) PARA参考答案:(BD)2.常用的循环控制方法有()。
微机原理及汇编语言答案及评分标准
微机原理及汇编语⾔答案及评分标准浙江⼯业⼤学2007/2008 学年第⼀学期试卷班级:应⽤物理0501,02,光信息0501,02微机原理I答案及评分标准⼀、选择题(1.5分×10=15分):评分标准:每题1.5分1.指令指针寄存器(IP)中存放的是(D)A.当前指令 B.下⼀条要执⾏的指令 C. 操作数地址 D. 下⼀条要执⾏指令的地址2.与堆栈⽆关的寄存器有(C )A.SP B. BP C. BX D. SS3. 8086CPU复位后,程序重新开始执⾏的逻辑地址为(B )A.FFFFH: FFF0H B. FFFFH: 0000H C. 0000H: 0000H D. 0000H: FFFFH4.和外存储器相⽐,内存储器的特点是( C )。
A. 容量⼤、速度快、成本低B. 容量⼤、速度慢、成本低C. 容量⼩、速度快、成本⾼D. 容量⼩、速度快、成本低5.若指定某位为1可⽤指令( B )A.AND B. OR C. NOT D. XOR6. ( B )不汇编机器代码,仅在汇编过程中告诉汇编程序如何编译A.汇编语⾔B.伪指令 C. 指令 D. 标识符7.8086CPU采⽤向量中断⽅式处理8级I/O接⼝中断,若I/O接⼝的中断类型号依次70H~77H,在内存RAM的0000H:01D8H单元依次存放20H,50H,00H,60H 4个字节,问该I/O接⼝对应的中断类型号和中断服务程序⼊⼝是(D)A.72H和2050H:0060H B. 72H和6000H:5020HC. 76H和0060H:2050HD. 76H和6000H:5020H8.数据在外设与存储器之间直接进⾏传送是采⽤( C )传送。
A、中断传送B、程序传送C、DMA传送D、数据块传送9.若8086CPU⼯作于最⼩⽅式,则执⾏MOV [BX], DL时其引脚信号RD的电平应是(B )A.低电平,低电平 B. 低电平,⾼电平C.⾼电平,低电平 D. ⾼电平,⾼电平10.关于虚拟存储器,下列说法正确的是(C )A.它是由内存芯⽚所提供的地址空间B.它是CPU可以直接访问的存储器C.它是指程序可以占有的空间D.它可以扩⼤外存储器的存储空间⼆、判断题(1分×10=10分): 评分标准:每题1分1.80286微处理器实现了虚拟存储管理。
汇编语言程序设计教案及习题答案
汇编语言程序设计教案及习题答案教案章节:一、汇编语言简介1. 汇编语言的概念2. 汇编语言的特点3. 汇编语言的应用领域二、汇编语言的基本语法1. 数据类型及表示2. 指令格式及分类3. 寄存器使用规则三、汇编语言程序设计步骤1. 分析需求,确定程序功能2. 选择合适的汇编语言及开发环境3. 编写汇编代码,调试程序4. 优化程序性能四、常用汇编指令及功能1. 数据传输指令2. 算术运算指令3. 逻辑运算指令4. 控制流指令5. 字符串操作指令6. 中断指令五、汇编语言与C语言的接口编程1. extern声明汇编函数2. 调用汇编函数的方法3. 汇编函数与C函数的数据交换4. 实例分析:汇编语言实现字符串排序习题答案:一、汇编语言简介1. 汇编语言是一种低级编程语言,用于编写计算机程序。
(正确)2. 汇编语言可以直接操作计算机硬件资源。
(正确)3. 汇编语言程序可读性差,不易维护。
(正确)二、汇编语言的基本语法1. 数据类型及表示a. 字节:8位(正确)b. 字:16位(正确)c. 双字:32位(正确)d. 四字:64位(正确)2. 指令格式及分类a. 操作码(正确)b. 操作数(正确)c. 寄存器(正确)d. 标志位(正确)3. 寄存器使用规则a. 通用寄存器:AX, BX, CX, DX(正确)b. 段寄存器:CS, DS, ES, SS(正确)c. 指令指针:IP(正确)d. 状态寄存器:FLAGS(正确)三、汇编语言程序设计步骤1. 分析需求,确定程序功能(正确)2. 选择合适的汇编语言及开发环境(正确)3. 编写汇编代码,调试程序(正确)4. 优化程序性能(正确)四、常用汇编指令及功能1. 数据传输指令a. MOV:数据传送(正确)b. PUSH:压栈(正确)c. POP:出栈(正确)d. XCHG:交换数据(正确)2. 算术运算指令a. ADD:加法(正确)b. SUB:减法(正确)c. MUL:无符号乘法(正确)d. IMUL:有符号乘法(正确)3. 逻辑运算指令a. AND:逻辑与(正确)b. OR:逻辑或(正确)c. XOR:逻辑异或(正确)d. NOT:逻辑非(正确)4. 控制流指令a. JMP:无条件跳转(正确)b. JE:相等跳转(正确)c. JNE:不相等跳转(正确)5. 字符串操作指令a. MOVS:字符串移动(正确)b. CMPS:字符串比较(正确)c. SCAS:字符串扫描(正确)d. LODS:字符串装载(正确)6. 中断指令a. INT:软件中断(正确)b. INTO:中断向量表(正确)五、汇编语言与C语言的接口编程1. extern声明汇编函数(正确)2. 调用汇编函数的方法(正确)3. 汇编函数与C函数的数据交换(正确)4. 实例分析:汇编语言实现字符串排序(正确)汇编语言程序设计教案及习题答案教案章节:六、汇编语言的输入与输出1. 输入输出指令2. 字符串操作指令3. 实例分析:编写一个简单的输入输出程序七、汇编语言的杂项指令1. 杂项指令的概念2. 常用杂项指令及其功能3. 实例分析:杂项指令的应用八、汇编语言的子程序调用1. 子程序调用的概念2. 子程序的定义与调用3. 子程序的返回4. 实例分析:子程序在汇编语言中的应用九、汇编语言的程序举例1. 实例一:计算两个数的和2. 实例二:字符串的复制3. 实例三:数制的转换4. 实例四:文件的读写十、汇编语言程序的调试与优化1. 调试工具的使用2. 调试方法与技巧3. 程序优化的概念4. 程序优化的方法与技巧习题答案:六、汇编语言的输入与输出1. 输入输出指令a. IN:输入指令(正确)b. OUT:输出指令(正确)c. INPUT:输入函数(正确)d. PRINT:输出函数(正确)2. 字符串操作指令a. MOVS:字符串移动(正确)b. CMPS:字符串比较(正确)c. SCAS:字符串扫描(正确)d. LODS:字符串装载(正确)3. 实例分析:编写一个简单的输入输出程序(正确)七、汇编语言的杂项指令1. 杂项指令的概念(正确)2. 常用杂项指令及其功能a. NOP:无操作(正确)b. HLT:停止CPU运行(正确)c. CMC:翻转标志位(正确)d. ARPL:寄存器之间交换(正确)3. 实例分析:杂项指令的应用(正确)八、汇编语言的子程序调用1. 子程序调用的概念(正确)2. 子程序的定义与调用a. 定义子程序(正确)b. 调用子程序(正确)3. 子程序的返回(正确)4. 实例分析:子程序在汇编语言中的应用(正确)九、汇编语言的程序举例1. 实例一:计算两个数的和(正确)2. 实例二:字符串的复制(正确)3. 实例三:数制的转换(正确)4. 实例四:文件的读写(正确)十、汇编语言程序的调试与优化1. 调试工具的使用(正确)2. 调试方法与技巧(正确)3. 程序优化的概念(正确)4. 程序优化的方法与技巧(正确)汇编语言程序设计教案及习题答案教案章节:十一、汇编语言与操作系统1. 操作系统的概念2. 汇编语言在操作系统中的应用3. 实例分析:汇编语言编写简单的操作系统十二、汇编语言与设备驱动程序1. 设备驱动程序的概念2. 汇编语言在设备驱动程序开发中的应用3. 实例分析:汇编语言编写简单的设备驱动程序十三、汇编语言与嵌入式系统1. 嵌入式系统的概念2. 汇编语言在嵌入式系统中的应用3. 实例分析:汇编语言编写简单的嵌入式系统十四、汇编语言与汇编器的使用1. 汇编器的概念2. 汇编器的使用方法3. 实例分析:使用汇编器编写和调试汇编程序十五、汇编语言与汇编语言的未来发展1. 汇编语言的发展趋势2. 汇编语言在未来的应用领域3. 汇编语言学习的方法与建议习题答案:十一、汇编语言与操作系统1. 操作系统的概念(正确)2. 汇编语言在操作系统中的应用(正确)3. 实例分析:汇编语言编写简单的操作系统(正确)十二、汇编语言与设备驱动程序1. 设备驱动程序的概念(正确)2. 汇编语言在设备驱动程序开发中的应用(正确)3. 实例分析:汇编语言编写简单的设备驱动程序(正确)十三、汇编语言与嵌入式系统1. 嵌入式系统的概念(正确)2. 汇编语言在嵌入式系统中的应用(正确)3. 实例分析:汇编语言编写简单的嵌入式系统(正确)十四、汇编语言与汇编器的使用1. 汇编器的概念(正确)2. 汇编器的使用方法(正确)3. 实例分析:使用汇编器编写和调试汇编程序(正确)十五、汇编语言与汇编语言的未来发展1. 汇编语言的发展趋势(正确)2. 汇编语言在未来的应用领域(正确)3. 汇编语言学习的方法与建议(正确)重点和难点解析本文主要介绍了汇编语言程序设计的基础知识和应用领域,通过详细的章节安排,从汇编语言的基本概念、语法规则、程序设计步骤、常用指令及其功能、输入输出操作、杂项指令、子程序调用、程序举例、调试与优化等方面进行了深入讲解。
微机原理---汇编语言习题(完整参考答案)
微机原理---汇编语⾔习题(完整参考答案)MIS 硬件原理复习内容1.数的不同进制转换,原码、反码、补码转码,BCD码2.掌握D触发器逻辑3.D触发器组成的电路:卡诺图及简化、真值表、波形图、状态转换图4.三态门、总线结构5.存储器扩展⽅法:地址总线的作⽤,内存分页技术,地址译码⽅法,译码器6.86X 系列CPU 结构框图7.8086寄存器组,寻址⽅式8.指令,伪指令9.数据定义,完整程序结构10.汇编语⾔上机及调试过程1.分别指出下列指令中的源操作数和⽬的操作数的寻址⽅式:(1)MOV SI, 200(2)MOV CX, DA TA[SI](3)ADD AX, [BX][DI](4)AND AX, BX(5)PUSHF2.指出指令MOV AX, 2010H 和MOV AX, DS:[2010H]的区别3.写出以下指令中内存操作数的所在地址(1)MOV AL, [BX+5](2)MOV [BP+5], 5(3)INC BYTE PTR[SI+3](4)MOV DL, ES:[BX+DI](5)MOV BX, [BX+SI+2]4.判断下列指令书写是否正确(1)MOV DS, 0100H (错)(2)MOV AL, BX (错)(3)MOV BL, F5H (错)(4)MOV DX, 2000H (对)(5)INC [BX] (对)(6)MOV 5, AL (错)(7)MOV [BX], [SI] (错)5.若SP=2000H, AX=3355H, BX=4466H, 试指出执⾏下列指令后有关寄存器的值:(1)PUSH AX;执⾏后AX=? SP=? (AX=3355H SP=1FFEH)(2)PUSH AXPUSH BXPOP DX;执⾏后AX=? DX=? SP=?(AX=3355H DX=4466H SP=1FFEH)6.假设想从100中减去AL中的内容,⽤SUB 100, AL是否正确?如果不对,应⽤什么⽅法?7.有如下程序,当AL某位为何值时,可将程序转⾄AGIN2语句。
微机原理与汇编语言复习题及参考答案
中南大学网络教育课程考试复习题及参考答案微型机原理与汇编语言一、 选择题:1. 设AL=0A8H, CX=2, CF=1, 执行RCL AL, CL 指令后, AL 中的值为 ( ( ))A. 51HB. A3HC. 47HD. 0C5H2. 下述指令的执行结果是 MOV AL, 0C2HAND AL, 0F0HA.AL=40HB.AL=20HC.AL=0C0HD.AL=0E0H3. 完成对CL 寄存器的内容乘以4的正确操作是 ( ))A.ROL CL, 1 ROL CL, 1B.MUL 4C.SHL CL, 1 SHL CL, 1D.MOV CL, 2SHL CL, CL4. 无论BH 中原有的数是奇数或偶数, 若要使BH 中的数一定为奇数, 应执行的指( A. ADD BH, 01H B. OR BH, 01H C. XOR BH, 01H D. TEST BH, 01H( 5. 假设( AL) = 37H, ( BL) = 95H, 执行指令IMUL BL 后( AX) = ))A. 0E903HB. HC. 0DBBHD. H6. 下面的数据传送指令中, 错误的操作是 A. MOV SS:[BX+DI], 1000H ( B. MOV DX, 1000HD. MOV DS, HC. MOV WORD PTR[BX], 1000H 7. CPU 要访问的某一存储单元的实际地址称 ( ))A .段地址B .偏移地址C .物理地址D .逻辑地址8. 某存储单元的物理地址是12345H, 能够作为它的段地址有 ( A .2345H B .12345H C .12340H D .1234H9. 计算机能直接识别的的语言 ( )(A .汇编语言B .机器语言C .高级语言D .低级语言10. 下列指令中操作数在代码段中的是 )A .MOV AL,25HB .ADD AH,BLC .INC DS:[25]D .CMP AL,BL11.直接、 间接、 立即三种寻址方式指令的执行速度, 由决至慢的排序为 ( ))A .直接、 立即、 间接 C .立即、 直接、 间接B .直接、 间接、 立即D .不一定12.若栈顶的物理地址是 011,当执行完指令CALL AX 后, 栈顶的物理地址是( A . 211 B . 111 C .200FFH D .200FEH13.当执行完下列指令序列后, 标志位CF 和OF 的值是 ( )MOV AX,OC126HMOV BX,5AB7HSUB AX,BXA .0, 0B .0, 1C .1, 0D .1, 114. JMP BX 的目标地址偏移量是( ) 。
中南大学《微型机原理与汇编语言》课程作业(在线作业)二及参考答案
(一) 单选题1. 现有,,,,,,,,,,指令执行MOVAX,BX后,AX寄存器中的内容()。
(A)0002HH(B)0100H(C)7856H(D)3412H参考答案:(B)2.,,,执行指令JMPFAR PROB(其机器码的十六进制表示为EA46010020)后,IP的值为()。
(A)4601H (B) 20H (C) 46H (D) 1766H参考答案:(A)3. 寄存器间接寻址中,操作数在()。
(A)通用寄存器(B)堆栈(C)主存单元(D)段寄存器参考答案:(C)4.,,,执行指令JMPNEAR PTR OTHER(其机器码的十六进制表示为E90016)后,IP的值为()。
(A)1766H (B) 46H (C) 16H (D) 7017H参考答案:(C)5. 已知,,则执行指令LDSBX,ARR后,寄存器DS中的内容为()。
(A) 4000H(B)2000H(C)0080H(D)6AE0H参考答案:(A)6. 的源操作数的物理地址是()。
(A)(B)(C)(D)参考答案:(A)7. 在顺序结构的流程图中,不包含有()。
(A)起始框(B)终止框(C)判断框(D)处理框参考答案:(C)8. 执行下列两条指令后,MOVAL,0C2H ,ANDAL,0F0H ,AL 中的值为()。
(A) 40H(B) 20H (C) 0C0H (D) 0E0H参考答案: (C)9. 下列哪个标志位不受指令SAHF 的影响()。
(A) SF(B) ZF (C) AF (D) DF参考答案: (D) 10. 已知,执行指令NEGDX 后,DX 中的值为()。
(A)657FH(B)6580H(C)9A7FH(D)9A80H参考答案: (B) 11.设,,,偏移量,使用BX ,SI 和D的相对基址变址寻址方式,得到的有效地址为()。
(A)2865H(B)700DH(C)47A8H(D)712DH参考答案: (D)12. 指令CWD 所指行的操作是将AX 中的符号位扩展至下列哪个寄存器中()。
汇编语言程序设计课后答案
汇编语言程序设计课后答案第二章(更新完毕~)1。
在80X86微机的输入输出指令中,I/O端口号通常是由DX寄存器提供的,但是有时也可以在指令中直接指定00---FFH的端口号。
试问,可直接由指令指定的I/0端口数~解答:有256个~~ 书上有原话~~可以找到~~2。
有两个16位字节1EE5H和2A3CH分别存放在80X86微机的存储器的000B0H 和000B3H单元中,请用图表示出它们在存储器里的存放情况。
解答:如下图.第一个络子为000B0H字单元,注意,是字单元~~第五个格子为000B3H字单元~,学计算机的,竟然连个表格也做不好!3. 图在书上,我就不画了,太麻烦~~直接答吧~解答: 30022H字节单元内容: ABH 30024H字节单元内容: EFH 30021H字单元内容: AB34H 30022H字单元内容: 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--A 4--B 2--C 3--D 12--E 9--F 11--G 10--H 13--I 8--J 7--K 6---L 1--M 15--N 14--O第三章1。
汇编语言程序设计答案
汇编语言程序设计答案2篇汇编语言程序设计答案(一)汇编语言是一种底层的计算机语言,通过程序设计来控制计算机硬件的运行。
它是计算机体系结构的基础,可以用来编写高效的程序,实现各种任务。
下面是两个关于汇编语言程序设计的答案,帮助初学者理解汇编语言的基本概念和编程技巧。
答案一:```assemblymov ax, 5mov bx, 6add ax, bx```这个程序的作用是将寄存器ax的值设置为5,寄存器bx的值设置为6,然后将ax和bx的值相加,结果保存在ax中。
最后,ax的值为11。
答案二:```assemblymov ax, 10mov bx, 2div bx```这个程序的作用是将寄存器ax的值设置为10,寄存器bx的值设置为2,然后将ax和bx的值相除,商保存在ax中,余数保存在dx中。
最后,ax的值为5,dx的值为0。
通过以上两个简单的答案,我们可以看到汇编语言的基本操作和计算能力。
编写汇编语言程序需要了解计算机的底层架构和指令集,因为每种计算机体系结构都有不同的汇编语言。
因此,学习汇编语言需要掌握计算机组成原理和计算机体系结构的基本知识。
在编写汇编语言程序时,我们通常需要使用一些常见的指令,例如mov(数据传送)、add(加法运算)、sub(减法运算)、mul(乘法运算)、div(除法运算)、jmp(跳转指令)等等。
掌握这些常用指令和相应的语法规则是学习汇编语言的基础。
另外,汇编语言程序设计也需要学习如何使用寄存器和内存。
寄存器是存储在CPU内部的非常快速的存储器,可以暂时存储数据和指令。
CPU可以直接读取和写入寄存器中的数据。
内存是存储在计算机主存储器中的大量数据和指令。
CPU需要通过地址来访问内存中的数据和指令。
要编写高效的汇编语言程序,我们需要理解计算机的硬件原理和底层运行机制。
了解汇编语言可以提供对程序的细粒度控制,对程序性能的优化有很大帮助。
总的来说,汇编语言程序设计是一项复杂而有趣的任务。
微机原理,汇编语言及接口技术第2版课后习题答案
第1章作业答案1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同?把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微处理器。
微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了微型计算机。
微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形成了微型计算机系统。
1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能?CPU主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。
其主要功能是进行算术和逻辑运算以及控制计算机按照程序的规定自动运行。
1.3微型计算机采用总线结构有什么优点?采用总线结构,扩大了数据传送的灵活性、减少了连线。
而且总线可以标准化,易于兼容和工业化生产。
1.4数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据?数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。
8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为地址总线。
它们主要靠信号的时序来区分。
通常在读写数据时,总是先输出地址(指定要读或写数据的单元),过一段时间再读或写数据。
第2章作业答案2.1 IA-32结构微处理器直至Pentillm4,有哪几种?80386、30486、Pentium、Pentium Pro、PeruiumII、PentiumIII、Pentium4。
2.6IA-32结构微处理器有哪几种操作模式?IA一32结构支持3种操作模式:保护模式、实地址模式和系统管理模式。
操作模式确定哪些指令和结构特性是可以访问的。
2.8IA-32结构微处理器的地址空间如何形成?由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成了线性地址。
若末启用分页机制,线性地址即为物理地址;若启用分页机制,则它把线性地址转为物理地址。
华电微机原理与技术汇编语言题目及答案
微机原理与接口技术汇编题目1、将数据段中2000H单元开始存放的10个数(8位数)传送到3000H开始的10个字节中。
2、将数据段DATA1中的10个字数据(16位数)传送到数据段DATA2中。
提示:1、指定数据的起始地址:(如果不指定起始地址,则起始地址为0000H)DATA SEGMENTORG 2000HDB 1,,2,3,4,5,6,7,8,9,10 ; DB 定义字节数据ORG 3000HDB 10 DUP(O); 预留10个单元存放结果,初值预定义为0DATA ENDS定义的内存单元为:2、定义字数据命令为:DWDATA1 SEGMENTDW 1 , ,2 , 3, 4, 5, 6, 7, 8, 9, 10 ; DW 定义字数据DATA1 ENDS一个字为两个字节,在内存中低位在前,高位在后。
1已知0~15的平方值表,查表求X ( X是0到15间任一数)的平方值,送到Y单元,用两种方法。
2、已知0~255的平方值表,查表求X的平方值,送到Y单元。
提示:0到15的平方表,每个平方值为一个字节;0到255的平方表,每个平方值为2个字节;调试程序,平方表中的数据定义几个就行,目的是程序正确即可。
一个字为两个字节,在内存中低位在前,高位在后。
1计算多字节数据788H与99AABBCCDDEEFF00H和。
2、计算8字节的BCD码十进制数788H与H的和3、计算10个字数据的和(数据自己定义)。
提示;1、多字节数据在内存中存放,低位在前,高位在后DAT1 DB 88H,77H,66H,55H,44H,33H,22H,11HDAT2 DB 00H,0FFH,0EEH,0DDH,0CCH,0BBH,0AAH,99H DAT3 DB 9 DUP(O)二进制加法指令:ADDBCD十进制加法:ADD(4 )计算表达式的值1计算表达式Z ((X Y)*7)/(Y 2)的值,已知X=10, 丫=5。
提示:X DB 10Y DB 5Z DB ?AL=X-YBL=7AX=AL*BLBH=Y+2AL=AX/BH 的商AH=AX/BH的余数' -NniL无符号数乘法•JAmi有符号数乗法・例W I 讥-AX <- AL*DL1MHL BX : DX AX <-AX*BXMI L BYTE PTR[SI|; AX < AL*(DS* 16+STj(5)找最大、最小数1、找出2040H单元和2041H单元的大数,并送2042H单元(数据自己定义)2、找出10个数(8位数)里的最大数(数据自己定义)1、找出10个数(8位数)里的正数个数(数据自己定义)2、找出10个数(16位数)里的负数个数(数据自己定义)(7)数据块比较1、分别在FARD1和FARD2单元开始存放了10个字节数据,编程比较是否一义)。
汇编语言程序设计教程(第二版)习题参考答案
汇编语言程序设计教程(第二版)习题参考答案第1章计算机基础知识1.计算机的应用分哪几个方面,请举例说明书中未提到的领域的计算机应用。
科学计算、数据处理、计算机控制、计算机辅助设计、人工智能、企业管理、家用电器、网络应用。
书中未提及的如:远程教育、住宅小区控制、飞行系统控制与管理等。
2.简述计算机的发展过程,请查阅相关资料,列出微机的发展过程。
电子管、晶体管、集成电路、大规模集成电路以IBM为例,微机的发展:4004、8008、8080、8086/8088、80286、80386、80486、Pentium 系列3.计算机的字长是怎么定义的,试举例说明。
计算机能同时处理二进制信息的位宽定义为计算机的字长。
如8086能同时进行16位二进制数据的运算、存储和传输等操作,该机器的字长为16位。
4.汇编语言中的基本数据类型有哪些?数值型数据和非数值型数据。
非数值数据如字符、字符串、逻辑值等。
(1)7BCH=011110111100B=1980D(2)562Q=101110010B=370D(3)90D=01011010B=5AH(4)1110100.111B=164.7Q=74.EH30H~39H 41H~5AH 61H~7AH9.在汇编语言中,如何表示二进制、八进制、十进制和十六进制的数值?用相应进制的数值加上进制标记即可。
二进制用B,如10101010B八进制用Q,如437Q。
十进制用D或不用,如54D,或54。
十六进制用H,如27A8H10.完成下列二进制数的加减运算。
(1)10101010 + 11110000 (2)11001100 + 01010100=110011010 =100100000(3)11011010 - 01010010 (4)11101110 - 01001101=10001000 =1010000111.完成下列十六进制数的加减运算。
(1)0FEA9 - 8888=7621H (2)0FFFF - 1234=EDCBH(3)0EAC0 + 0028=EAE8H (4)3ABC + 1678=5134H12.完成下列BCD码的运算。
汇编语言作业及参考答案
汇编语言作业及参考答案汇编语言作业答案1.3什么是汇编语言源程序、汇编程序、目标程序?见教材P41.10数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码为0Dh、0aH对应的是什么字符?见教材P81.11计算机中有一个“01100001‘编码,如果把它认为是无符号数,它是十进制什么数?如果认为它是BCD 码,则表示什么数?又如果它是某个ASCII码,则代表哪个字符?97,61h,a1.13什么是DOS和POM-BIOS?DOS:磁盘操作系统;POM-BIOS:可编程的基本输入输出系统2.3 举例说明CF和OF标志的差异。
见教材P20-212.5 什么是8086中的逻辑地址和物理地址?逻辑地址如何转换成物理地址?请将如下逻辑地址用物理地址表达:(1)FFFFh:0 (2)40h:17h (3)2000h:4500h (4)B821h:4567h见教材P22-23 FFFF0h 417h 24500h BC777h2.6 8086有哪4种逻辑段,各种逻辑段分别是什么用途?见教材P232.10 说明下列指令中源操作数的寻址方式?如果BX=2000H,DI=40H,给出DX的值或有效地址EA的值。
(1)mov dx,[1234h] 直接寻址(2) mov dx,1234h 立即寻址(3) mov dx,bx 寄存器寻址(4) mov dx,[bx] 寄存器间接寻址(5) mov dx,[bx+123h] 寄存器相对寻址(6) mov dx,[dx+di] 基址变址寻址(7) mov dx,[bx+di+1234h] 相对基址变址寻址2.11 已知DS=2000H、BX=0100H、SI=0002H,存储单元[20100H]~[20103H]依次存放12 34 56 78H,[21200H]~[21203H]依次存放2A 4C B7 65H,说明下列每条指令执行后AX寄存器的内容。
微机课后习题答案
第1章作业答案微处理器、微型计算机和微型计算机系统三者之间有什么不同把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微处理器。
微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了微型计算机。
微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形成了微型计算机系统。
CP U在内部结构上由哪几部分组成CPU应该具备哪些主要功能CPU主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。
其主要功能是进行算术和逻辑运算以及控制计算机按照程序的规定自动运行。
微型计算机采用总线结构有什么优点采用总线结构,扩大了数据传送的灵活性、减少了连线。
而且总线可以标准化,易于兼容和工业化生产。
数据总线和地址总线在结构上有什么不同之处如果一个系统的数据和地址合用一套总线或者合用部分总线,那么要靠什么来区分地址和数据数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。
8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为地址总线。
它们主要靠信号的时序来区分。
通常在读写数据时,总是先输出地址(指定要读或写数据的单元),过一段时间再读或写数据。
第 2章作业答案IA-32结构微处理器直至Pentillm4,有哪几种80386、30486、Pentium、Pentium Pro、PeruiumII、PentiumIII、Pentium4。
IA-32结构微处理器有哪几种操作模式IA一32结构支持3种操作模式:保护模式、实地址模式和系统管理模式。
操作模式确定哪些指令和结构特性是可以访问的。
IA-32结构微处理器的地址空间如何形成由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成了线性地址。
若末启用分页机制,线性地址即为物理地址;若启用分页机制,则它把线性地址转为物理地址。
8086微处理器的总线接口部件由哪几部分组成8086微处理器中的总线接口单元(BIU)负责CPU与存储器之间的信息传送。
中南大学《微型机原理与汇编语言》课程作业(在线作业)一及参考答案
(一) 单选题1.十六进制数5A.26转化为十进数结果为()。
(A) 90.148 (B) 50.18 (C) 100.56 (D) 112.82参考答案:(A)2.8086寻址端口时,使用()条地址总线。
(A) 8 (B) 16 (C) 20 (D) 32参考答案:(B)3.十进制数69.357转化为压缩BCD码数结果为()。
(A) 1100001.001011010111 (B) 1001001.001101010001 (C) 1101001.001101010111 (D) 1101101.001101010011参考答案:(C)4.已知一个数的补码为0FFFFH,其真值为()。
(A) -32768 (B) -32767 (C) -1 (D) 32767参考答案:(C)5.十进制数-127补码(采用8位二进制,最高位为符号位)为()。
(A) 10000001 (B) 01111111 (C) 11111111 (D) 10000000参考答案:(A)6.数字的ASCII码为()。
(A) 30H (B) 00H (C) 40H (D) 50H参考答案:(A)7.十进制数158.625转化为十六进数结果为()。
(A) 68.4 (B) 0AE.8 (C) 74.5 (D) 9E.A参考答案:(D)8.8086CPU的标志寄存器的DF位为()。
(A) 增量方向标志位(B) 溢出标志位(C) 符号标志位(D) 奇偶标志位参考答案:(A)9.十进制数125.74转化为二进制数结果为()。
(A) 1011101.1111 (B) 1101101.1001 (C) 1110101.1101 (D) 1111101.1011参考答案:(D)10.CPU指令执行时间的刻度是()。
(A) 基本指令执行时间(B) 指令执行时间(C) 时钟周期(D) 总线周期参考答案:(C)11.已知一个数的补码为0B2H,其真值为()。
微机原理和接口技术课后习题和参考答案解析(汇编)
微机原理和接口技术课后习题和参考答案解析(汇编)精品文档第一章课后习题1.1 把下列十进制数转换成二进制数、八进制数、十六进制数。
① 16.25 ② 35.75 ③ 123.875 ④ 97/128 1.2 把下列二进制数转换成十进制数。
① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.1 1.3 把下列八进制数转换成十进制数和二进制数。
① 756.07 ② 63.73 ③ 35.6 ④ 323.45 1.4 把下列十六进制数转换成十进制数。
① A7.8 ② 9AD.BD ③ B7C.8D ④ 1EC 1.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.C2H 1.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 1111 1.7 答:传统上分为三类:大型主机、小型机、微型机。
微机原理与接口技术:汇编语言程序设计单元测试与答案
一、单选题1、以下可以正确通过汇编的指令是()A.MOV [DI][SI],2700HB.MOV BYTE PTR[DI][BX],2700HC.MOV [DI][BX],27HD.MOV BYTE PTR[DI][BX],27H正确答案:D2、变量VAR的定义是:VAR DW 8A2FH,现要将VAR的低字节取入AL寄存器,正确的语句是()A.MOV AL,BYTE PTR VAR+1B.MOV AL,LOW BYTE VARC.MOV AL,VARD.MOV AL,BYTE PTR VAR正确答案:D3、使用系统功能调用的1号功能从键盘输入数据时,若在键盘上按了按键9,则1号功能返回的二进制编码为()A.1001BB.00111001BC.09HD.00001001B正确答案:B4、已知某数据段定义如下()MYDATA SEGMENTD1 DB 5 DUP(0)D2 DW 2 DUP(42H)D3 DB ‘Hello!’D4 EQU 100D5 DD 1234HD6 DB ?MYDATA ENDS则变量D6的偏移地址是( )。
A.0012HB.0010HC.0011HD.0013H正确答案:D5、在汇编语言源程序中,用于指示汇编程序如何汇编的指令是()。
A.助记符指令B.宏指令C.机器指令D.伪指令正确答案:D6、执行下列指令后,AX寄存器中的内容是()H。
TABLE DW 10,20,30,40,50ENTRY DW 3┇MOV BX,OFFSET TABLEADD BX,ENTRYMOV AX, [BX]A.1E00HB.001EHC.0E00HD.2E00H正确答案:A二、判断题1、数据定义语句“VAR DW 100 DUP(?)”定义了一个大小为200个字节的存储区。
正确答案:√2、假设VAR1为字变量,则指令SUB AX,VAR1能够正确执行。
正确答案:√3、伪指令是由汇编程序执行的指令,不是由CPU执行的指令。
微机原理与汇编语言作业参考答案
《微机原理与汇编语言》作业一答案一、填空题1、计算机中的CPU由运算器和控制器组成。
2、根据传送的内容不同,微型计算机系统总线可以分为数据总线、地址总线和控制总线。
3、(513.85)10 = ( 201.D999 )16 (105.3)8 = ( 69.375 )10(9E.A)16 = ( 236.5 )8(1001.11001 )2 = ( 9.78125 )104、“9”的ASCII码是39H ,“DEL”的ASCII码是7FH ,“K”的ASCII码是4BH 。
5、假定机器的字长为8位,且最高位为符号位,则(-127)10的原码用8位二进数表示为11111111 ,其补码用8位二进数可表示为10000001 。
6、[4C10H]补= [ 4C10H ]原[9DH]补= [ -63H ]原7、I/O端口有两种编址方式,分别是统一编址和独立编址。
8、有一个由20个字组成的数据区,其起始地址为610AH:1CE7H,则数据区首地址为62D87H ,数据区末地址为62DAEH 。
9、8086寻址I/O端口时,使用16 条地址总线,可以寻址32K 个字端口或64K 个字节端口。
二、名词解释1、字节、字、字长字节:是计算机中通用的的基本单元,它由8个二进制位组成,即8位二进制数组成一个字节。
字:是计算机内部进行数据处理的基本单位。
对于16位微型计算机而言,字由两个字节组成,每个字节长度为8位,分别称为高位字节和低位字节。
对于32位的微型计算机,它由4个字节组成,组合后为双字。
字长:是计算机在交换、加工和存放信息时,其信息位的最基本长度,决定了系统一次传送的二进制数的位数。
各种类型的微型计算机字长是不相同的,字长越长的计算机,处理数据的精度和速度就越高。
因此,字长是微型计算机中最重要的指标之一。
2、主频、基本指令执行时间主频:也称为时钟频率,通常是指计算中时钟脉冲发生器所产生的时钟信号的频率,单位为MHz(兆赫),它决定了微型计算机的处理速度。
微机原理与汇编语言程序设计课后习题参考答案之欧阳家百创编
第一章习题与参考答案欧阳家百(2021.03.07)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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
微机作业汇编程序参考标准答案————————————————————————————————作者:————————————————————————————————日期:1.编写一个完整的源程序:X,Y,Z三个字节存储单元中各有一个无符号数,其中有两个数据相等,找出不相等的那个数,并存入W单元中20.在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为首址的数据区中。
DA TA SEGMENTBUF1 DW -56,24,54,-1,89,-8……BUF2 DW 45,-23,124,345,-265,……SUM DW 10 DUP(0)DA TA ENDS2.编程:把存储单元A和B中的两个压缩BCD数相加,结果存入存储单元C中,并将结果显示3.4. 将DISP单元中存放的一压缩BCD码内容显示出来。
(如果能显示为(DISP)=XXH更好)4. 将字节变量DISP的内容(00H-FFH任意值)显示出来。
(如果能显示为(DISP)=XXH 更好)5.将带符号字节变量A、B中的大数送C单元中。
DA TA SEGMENTA DB 60H ;50H ;50HB DB 50H ;60H ;50HC DB ?DA TA ENDSTCODE SEGMENTASSUME CS:CODE,DS:DATASTART: MOV AX,DA TAMOV DS,AXMOV AL,ACMP AL,BJGE NEXT ;A>=BMOV AL,BMOV C,ALNEXT: MOV C,AL ;A<BMOV AH,4CHINT 21HCODE ENDSEND START6.设X为带符号字变量,求X的绝对值放入Y单元中。
DA TA SEGMENTX DW -1 ;1 ;0Y DW ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATAMAIN: MOV AX,DA TAMOV DS,AXMOV AX,XCMP AX,0JGE NT ;JNS NTNEG AXNT: MOV Y,AXMOV AH,4CHINT 21HCODE ENDSEND MAIN7编程:比较D1、D2单元中的字符,相同显示YES,不同显示NO8. 编制程序实现符号函数(+127≥X≥-128)。
DA TA SEGMENTX DB 10H ;00H ;-1Y DB ?DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DA TAMOV DS,AXMOV AL,XCMP AL,0JL NEXT1CMP AL,0JG NEXT2MOV Y,0JMP RESNEXT1: MOV Y,-1JMP RESNEXT2: MOV Y,1RES: MOV AH,4CHINT 21HCODE ENDSEND START10、编程:内存自buf单元开始的缓冲区连续存放着100个学生的英文分数,编程序统计其中90~100,60~89,60以下者各有多少人?并把结果连续存放到自resut开始的单元中。
11.编写程序统计BUF单元开始的长度为20的字符串中包含字符‘A’的个数。
12.将BUF起始的字节单元中最大的数(带符号数)放MAX单元中。
14.编程:使用冒泡法实现对N个无符号数从小到大排序。
(参考)DA TAREA SEGMENTA DW N DUP(?)FLAG DW ?DA TAREA ENDSPROGRAM SEGMENTMAIN PROC FARASSUME DS:DATAREA,CS:PROGRAM START:PUSH DSSUB AX,AXPUSH AXMOV AX,DATAREAMOV DS,AXMOV CX,NMOV SI,0DEC CXLOOP1:MOV DI,CXMOV BX,0LOOP2:MOV AX,A[BX]CMP AX,A[BX+2]JGE CONTINUEMOV SI,1XCHG AX,A[BX+2]MOV A[BX],AX CONTINUE:ADD BX,2LOOP LOOP2MOV CX,DITEST SI,0FFHJZ LOOP3LOOP LOOP1MOV CX ,NMOV SI, 0LOOP3:MOV DX,A[SI]ADD SI ,2MOV AH, 02HINT 21HLOOP LOOP3MOV AX,4C00HINT 21HMAIN ENDP PROGRAM ENDSEND START内存BUF单元开始存放20个字节数,编程将按从小到大的顺序排列,并存放在原存储区中。
(没错)DA TA SEGMENTBUF DB 4,5,20,1,3,6,2,10,9,15,14,13,16,18,17,19,8,11,12,7CN EQU $-BUFDA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DA TAMOV DS,AXMOV CX,CN-1;循环n-1次19LOP1: MOV SI,0PUSH CX;入栈19LOP2: MOV AL,BUF[SI]CMP AL,BUF[SI+1]JLE NEXT;第一个小XCHG AL,BUF[SI+1];第一个大,就交换MOV BUF[SI],ALNEXT: INC SILOOP LOP2POP CX;出栈19LOOP LOP1MOV AH,4CHINT 21HCODE ENDSEND START15. 在字节数组中找出第一个值为0的数据,并将其偏移地址存入RES单元中,若无,则RES存入FFFFH。
16.从键盘输入一个字符,若为‘0’~‘9’的字符则显示“digital”, 若为‘A’~‘Z’的字符则显示“CHARACTER”,否则显示“other”。
(可连续操作,按ESC键退出)P R I N T :M O VA H , 0 9E X I T :M O VA H , 4 C HI N T2 1 HODEENDSENDSTART19.在数据段中变量WEEK存储星期一至星期日的英文缩写(MON、TUE、WED、THU、FRI、SAT、SUN),DAY单元中用数1~7分别表示星期一到星期日,编程根据DAY的内容显示对应的英文缩写。
DA TA SEGMENTWEEK DB 'MON','TUE','WED','THU','FRI','SAT','SUN'DAY DB 4DA TA ENDS;----------------------------------------------------------------------STAK SEGMENT STACKDW 30 DUP(?)STAK ENDS;-----------------------------------------------------------------------CODE SEGMENTASSUME CS:CODE,DS:DA TASTART: MOV AX,DA TAMOV DS,AXXOR BX,BXMOV BL,DAYDEC BLMOV DL,BLSHL BL,1ADD BL,DLMOV CX,3MOV AH,2LOP: MOV DL,[BX]INT 21HINC BXLOOP LOPDONE: MOV AH,4CHINT 21HCODE ENDSEND STARTPage 9 最后一题Page 9 8255与系统总线连接示意图编程:已知在以ARRAY为首地址的数据区中存放10个带符号字节数据:ARRAY DB 1,2,-1,3,4,-2,-3,4,5,-6编程将ARRAY分成两个数组:正数数组P_ARY和负数数组N_ARY。
(参考)DA TA SEGMENTARRAY DW,1,2,-1,3,4,-2,-3,4,5,-6P_ARY DW 10 DUP(?)N_ARY DW 10 DUP(?)NUM1 DB 00HNUM2 DB 00HDA TA ENDSCODE SEGMENTASSUMECS:CODE,DS:DATA,SS:STACK START:MOV AX,DATAMOV DS,AXMOV AX,STACKMOV SS,AXMOV SP,OFFSET TOP LEA SI,ARRAYMOV CX,0AHAGAIN:CMP [SI],0JB D1MOV AL,NUM1INC ALMOV NUM1,ALLEA DI,P_ARYMOV [DI+AL],[SI]LOOP AGAINJMP NEXTD1:MOV AL,NUM2 INC ALMOV NUM2,AL LEA DI,N_ARY MOV [DI+AL],[SI] LOOP AGAIN NEXT:MOV CX,NUM1 LEA SI,P_ARY AGAIN1:MOV AH,02H MOV DL,[SI]INC SILOOP AGAIN1 MOV CX,NUM2 LEA SI,N_ARY AGAIN2:MOV AH,02H MOV DL,[SI]INC SILOOP AGAIN2MOV AH,4CHINT 21H CODE ENDSEND START13.编程:已知有几个元素存放在以BUF+1为首址的字节存贮区中,个数放在BUF单元中。
试统计其中正数、负数和零的个数。
DA TA SEGMENTBUF DB 03H,35H,81H,00HN_PLUS DB 0N_NEG DB 0N_ZERO DB 0DA TA ENDSCODE SEGMENTASSUME CS:CODE,DS:DA TA START:MOV AX,DATAMOV DS,AXMOV BX,OFFSET BUFMOV CL,[BX]INC BX LOP:MOV AL,[BX]CMP AL,0JG TOPSJE TOZRINC N_NEGJMP NEXT TOPS:INC N_PLUSJMP NEXT TOZR:INC N_ZERONEXT:INC BXDEC CLJNZ LOPMOV AH,4CHINT 21H CODE ENDSEND START。