大工《汇编语言程序设计》离线作业答案
- 格式:doc
- 大小:97.21 KB
- 文档页数:5
奥鹏大工15秋《汇编语言程序设计》在线测试2满分答案一、单选题(共 10 道试题,共 40 分。
)1. 如果当前(BL)=57H,执行指令ADD BL,0F0H后,OF标志位的取值为()。
A. 1B. 0C. 不确定D. 2答案:B汇编语言程序设计2. 如果数据段中一个内存单元对应的物理地址为2F724H,(DS)=2F00H,那么使用DS段寄存器指明该单元的段基值时,需要使用哪一个偏移量才能正确访问该单元()。
A. 24HB. 4HC. 0724HD. 2724H答案:C3. 汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法()。
A. 名字的第一个字符可以是大写英文字母B. 名字的第一个字符可以是字母、数字、@、_C. 名字的有效长度≤31个字符D. 一般来说,名字项可以是标号答案:B4. 如果(SP)=30H,执行PUSH BX指令后,(SP)=()。
A. 28HB. 2EHC. 32HD. 31H答案:B5. 在DEBUG中,T命令的功能是()。
A. 观察某内存单元的当前内容B. 连续运行被调试的程序C. 单步执行下一条指令D. 修改指定寄存器的内容答案:C6. 汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是()。
A. 名字项B. 操作数项C. 注释项D. 以上都不对答案:B7. 以下五个指令(1)MOV AL,55H (2)MOV CL,2(3)ROL AL,CL (4)OR AL,1 (5)RCL AL,CL顺序执行完后,(CL)=多少?A. 2B. 3C. 4D. 5答案:A8. 以下五个指令(1)MOV AL,55H (2)MOV CL,2(3)ROL AL,CL (4)OR AL,1 (5)RCL AL,CL顺序执行完后,CF=多少?A. 1B. 2C. 3D. 0答案:A9. 如果(AL)=01111111B,执行INC AL指令后,CF=()。
汇编语言程序设计教案及习题答案教案章节:一、汇编语言简介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. 汇编语言学习的方法与建议(正确)重点和难点解析本文主要介绍了汇编语言程序设计的基础知识和应用领域,通过详细的章节安排,从汇编语言的基本概念、语法规则、程序设计步骤、常用指令及其功能、输入输出操作、杂项指令、子程序调用、程序举例、调试与优化等方面进行了深入讲解。
大工15春《汇编语言程序设计》毕业清考在线测试一、单选题:1.十进制负数-61的八位二进制反码是( )。
(满分:2)A. 01000010B. 01010000C. 11000010D. 11010000正确答案:C2.宏定义的完整格式中使用的一对伪操作是( )。
(满分:2)A. MACRO和ENDB. MACRO和ENDPC. MACRO和ENDS正确答案:C3.不属于汇编语言程序建立及汇编过程的是( )。
(满分:2)A. 编辑程序B. 运行程序C. 汇编程序D. 连接程序正确答案:B4.汇编程序中语句DA T1 DB 02H的含义是( )。
(满分:2)A. 用DAT1表示02HB. 定义DAT1为变量,其初值为02HC. 从标号DAT1对应的地址起02H个单元被分配D. 定义DAT1为变量,其地址为0002H正确答案:B5.用于删除宏定义的伪操作是( )。
(满分:2)A. DELETEB. REMOVEC. PURGED. CANCLE正确答案:C6.执行计算4652H+0F0F0H,则标志位CF和OF的值为( )。
(满分:2)A. 0,0B. 0,1C. 1,0D. 1,1正确答案:C7.宏定义必须使用的伪指令( )。
(满分:2)A. PROC…ENDPB. SEGMENT…ENDSC. MACRO…ENDMD. ASSUME正确答案:C8.BISO显示中断的调用的功能号是( )。
(满分:2)A. 21HB. 20HC. 22HD. 10H正确答案:D9.机器字长为8位,写出N=-115D的补码表示( )。
(满分:2)A. 8DHB. 9DHC. 8CHD. 8BH正确答案:A10.二进制数11001011对应十进制数为多少( )。
(满分:2)A. 201B. 202C. 203D. 195正确答案:C11.对于有符号的数来说,下列哪个值最大( )。
(满分:2)A. 0F8HB. 11010011BC. 82D. 123Q正确答案:D12.关于BIOS和DOS打印输出,下列说法错误的是( )。
03《汇编语言程序设计》(总20页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--《汇编语言程序设计》习题答案一、单项选择题(本大题共170小题,每小题2分)1、在汇编语言程序中,对 END 语句的叙述正确的是( C )。
A、END 语句是一可执行语句B、END 语句表示程序执行到此结束C、END 语句表示源程序到此结束D、END 语句在汇编后要产生机器码2、将 DX 的内容除以 2,正确的指令是( C )A、DIV 2B、DIV DX,2C、SAR DX,1D、SHL DX,13、下列数值表达式和地址表达式中,错误的是( D )。
A、MOV AL,8*14+4B、MOV SI,OFFSET BUF+13C、MOV CX,NUM2-NUM1D、MOV CX,NUM2+NUM14、用来存放下一条将要执行的指令地址的寄存器是 ( B )A、SPB、IPC、BPD、CS5、要使串处理从低地址向高地址进行,应把标志位置为 ( D )A、IF=1B、TF=0C、DF=1D、DF=06、设SS=2050H,SP=0140H,则栈顶存贮单元的物理地址是( A )A、20640HB、2063EHC、2063FHD、21900H7、十进制数269变换为十六进制数是( C )。
A、10BB、10CC、10DD、10E8、8位的微型计算机系统是以16位来表示地址,则该微机系统有( C )个地址空间。
A、255B、65535C、65536D、10485769、8位有符号二进制数能表示的最大十进制数是( D )。
A、256B、255C、128D、12710、十六进制数88H,可表示成下面几种形式,请找出错误的表示( D )。
A、无符号十进制数136B、带符号十进制数-120C、压缩型BCD十进制数88D、8位二进制数-8的补码表示11、有一个数值152,它与十六进制数6A相等,那么该数值是( B )。
大连理工大学智慧树知到“计算机科学与技术”《汇编语言程序设计》网课测试题答案(图片大小可自由调整)第1卷一.综合考核(共15题)1.假设(EAX)=00001000H,(EBX)=00002000H,(DS)=0010H,试问MOV ECX,[EAX+EBX]指令访问内存的物理地址是()。
A.00003100HB.10003100HC.00003200HD.00005100H2.指令是能被计算机识别并执行的二进制代码,它规定了计算机能完成的某一操作。
()A.正确B.错误3.在DOS系统中输入汇编.doc文件名就可以执行该汇编程序。
()A.正确B.错误4.如果(AL)=66H,执行如下程序片段后(1)OR AL,1 (2)ADC AL,82H后,CF的执行结果为()。
A.0B.1C.2D.35.NOT AX,执行后,将AX清0。
()A.正确B.错误6.BETA EQU 56语句的功能是使BETA的值为56。
()A.正确B.错误7.在所有的进位计数制中,整数部分最低位的权都是1。
()A.正确B.错误8.指令XOR AX,AX执行后,AX内容不变,但设置了标志位。
()A.正确B.错误9.运算器虽有许多部件组成,但核心部分是()。
A.数据总线B.算术逻辑运算单元C.cacheD.CPU和寄存器10.当源程序被汇编时,汇编程序将对每个宏调用作宏展开。
宏展开就是用宏定义体取代源程序中的宏指令名,并且用实元取代宏定义中的哑元,对应关系是一一对应。
()A.正确B.错误11.汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法()。
A.名字的第一个字符可以是大写英文字母B.名字的第一个字符可以是字母、数字、@、_C.名字的有效长度≤31个字符D.一般来说,名字项可以是标号12.子程序调用过程中,它只占用自身空间大小,而宏汇编在调用后,都要作一次宏展开,因此实际占用空间会随着宏调用次数增加而增加。
所以使用宏汇编没有任何意义。
第一章. 习题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) 11111111答:(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。
大工14 秋《汇编语言程序设计》在线测试1
单选题判断题多选题
一、单选题(共10 道试题,共30 分。
)
1. 下面的数值表示中,和127相等的是哪一个()
A. 11111111B
B. 127H
C. 80H
D. 7FH
正确答案:D
2. 在IBM PC中,一个字为()位二进制数。
A. 8位
B. 16位
C. 32位
D. 64位
正确答案:B
3. 一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是()
A. 12CSBH
B. 12B6BH
C. 12C59H#12BFEH
正确答案:C
4. 8086CPU在执行8位有符号数运算后,产生溢出是结果超出了:()
A. 0~255
B. +128~-128
C. +255~-256
D. +127~-128
正确答案:D
5. 已知物理地址(371F0H)=12H,(371F1H)=34H,(371F2H)=56H,如从地址371F0H 中取出一个字的内容是()
A. 3412H
B. 3421
C. 3410H
D. 3424
正确答案:A
6. CPU要访问的某一存储单元的实际地址称()
A. 段地址
B. 偏移地址
C. 物理地址
D. 逻辑地址。
汇编语言程序设计参考答案A卷一、单项选择题(本大题共8小题,每小题2分,共16分)1.C2.B3.B4.A5.C6.A7.A8.C9.D 10.B二、名词解释(本大题共5小题,每小题4分,共20分)11.微处理器:也成中央处理器(CPU),是微型计算机的核心部件,包含运算器、控制器、寄存器组及总线接口等,负责对计算机系统各部件进行统一的协调和控制。
12.寻址方式:就是寻找操作数或操作数地址的方式,根据寻址方式可方便地访问各类操作数。
13.伪指令:是发送给汇编程序的命令,在汇编过程中由汇编程序进行处理,如定义数据、分配存储区、定义段及定义过程等。
14.中断源:指能引起中断的外部设备或内部原因。
15.汇编语言:是一种面向CPU指令系统的程序设计语言,采用指令助记符来表示操作码和操作数,用符号地址表示操作数地址。
三、简答题(本大题共4小题,每小题5分,共20分)16.微型计算机系统软件的主要特点是什么?计算机系统软件的主要特点是简化计算机操作,支持应用软件的运行并提供相关服务,通常包括操作系统、语言处理程序等。
17.什么是逻辑地址?他由哪两部分组成?计算机存储器中给每个逻辑段编址的地址称逻辑地址。
逻辑地址是在程序中使用的地址,他由段地址和偏移地址两部分构成。
18.一个完整的汇编源程序由那些逻辑段组成?各逻辑段的主要作用是什么?一般情况下汇编语言源程序应该由以下3个逻辑段组成:①数据段:用来在内存中建立一个适当容量的工作区,以存放常数,变量等程序需要对其进行操作的数据;②堆栈段:用来在内存中建立一个适当容量的堆栈区,以便在中断、子程序调用时使用;③代码段:包括了许多以符号表示的指令,其内容就是程序需要执行的具体操作。
19. DMA数据传送方式的特点是什么?DMA数据传送方式把外设与内存交换信息的操作与控制交给DMA控制器,简化了CPU对数据交换的控制,数据传送速度快,但这种方式电路结构复杂,硬件开销大。
离线作业1答案及点评1.10、数码0~9、大写字母A~Z、小写字母a~z对应的ASCII码分别是多少?ASCII码为0dh、0ah对应的是什么字符?请看教科书的P7的标准ASCII码及其字符答案:数码0~9:30H~39H, 大写字母A~Z:41H~5AH, a~z:61H~7AH0DH:回车,0AH:换行1.11、计算机中有一个“0110 0001”编码,如果把它认为是无符号数,它是10进制什么数?如果认为它是BCD码,则表示什么数?又如果它是某个ASCII码,则代表哪个字符?无符号数:61H=97十六进制数转换为十进制数方法6乘16加1=97BCD码:61四位二进制表示一位BCD码ASCII码:61H为小写字母a可以查ASCII表答案:无符号数十进制:97,BCD码:61,ASCII码:a1.19、什么是8086中的逻辑地址和物理地址?逻辑地址如何转换成物理地址?请将如下逻辑地址用物理地址表达:(1)FFFFH:0 (2)40H:17H (3)2000H:4500H (4)B821H:4567H答案:•对应每个物理存储单元都有一个唯一的20位编号,就是物理地址,从00000H~FFFFFH•在8086内部和用户编程时,采用的段基地址: 段内偏移地址形式称为逻辑地址•将逻辑地址中的段地址左移4位,加上偏移地址就得到20位物理地址(1)FFFFH:0=FFFF0H(2)40H:17H=00417H(3)2000H:4500H=24500H(4)B821H:4567H=BC777H (不要算错)1.20、8086有哪4种逻辑段,各种逻辑段分别是什么用途?答案:•代码段(Code Segment)用来存放程序的指令序列。
处理器利用CS : IP 取得下一条要执行的指令•堆栈段(Stack Segment)确定堆栈所在的主存区域。
处理器利用SS : SP 操作堆栈中的数据•数据段(Data Segment)存放当前运行程序所用的数据。
汇编语言程序设计(第二版)课后习题答案第二章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)ADD AL,[BX][SI](3)ADD[BX][0B2H],CX(4)MOV AX,2A59H ADD[0524H],AX(5)ADD AL,0B5H3.(1)寄存器间接寻址MOV BX,OFFSET[BLOCK][0AH]MOV DX,[BX](2)寄存器相对寻址MOV SI,OAHMOV DX,[BLOCK][SI](3)基址变址寻址MOV BX,BLOCKMOV SI,OAHMOV DX,[BX][SI]4.现有(DS)=2000H,(BX)=0100H,(SI)=0002H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(2 1200)=2AH,(20201)=4CH,(21202)=B7H,(21203)=65H,试说明下列各条指令执行完后,AX寄存器的内容。
学习中心:
专业:
年级:年季
学号:
学生:
题目:十进制转换十六进制程序设计
1.谈谈你对本课程学习过程中的心得体会与建议?
通过这次的课程设计,让我们对汇编语言有了更进一步的认识,加强了我们用汇编语言的能力。
并经过修改,完成了简单的设计。
汇编语言程序设计是一门很抽象的科学,学起来也比较难,但随着学习的
调试时应注意的问题,同时也更深的理解了寄存器,存储器等工作原理以及一些指令执行后对它们的改变,例如,int指令会改变al的值,在编程时应注意这方面的问题。
在编写过程中,让我深刻的体会到了科学的严谨性。
有时一个逗号或者写错一个字母这样一点点小错误,就会产生很大的错误,导致调试的失败。
当设计一步步接近成功,每一个子程序的调试成功,都让自己感到喜悦,从中体会到编程的乐趣,有一种成就感,也让自己树立了信心,增强了对汇编语言程序设计的兴趣。
;输入不超过65535的10进制数,将其以16进制的形式显示code segment
assume cs:code
org 100h
start:
jmp bbb
x dw 0
msg1 db 10,13,'please input a number:','$'
msg2 db 10,13,' ','$'
bbb:
push cs
pop ds
lea dx,msg1
mov ah,9
int21h
lea bx,x
mov ax,0
push ax
again1:
mov ah,1
int21h
cmp al,13
je line0
sub al,30h
mov ah,0
mov si,ax
pop ax
mov cl,10
mov ch,0
mul cx
add ax,si
push ax
jmp again1
line0:
pop ax
mov word ptr[x],ax lea di,msg2
inc di
inc di
mov cx,4
again2:
mov ax,word ptr[x] rol ax,1
rol ax,1
rol ax,1
rol ax,1
; rol ax,4
mov word ptr[x],ax and ax,000Fh
cmp al,9
jg line1
add al,30h
mov byte ptr[di],al jmp line2
line1:
add al,37h
mov byte ptr[di],al
line2:
inc di
loop again2
lea dx,msg2
mov ah,9
int21h
mov ah,8
int21h
mov ah,4ch
int21h
code ends
end start
1.调试程序时,一定要注意程序的正确性,经多次发现错误然后进行调试,这些宝贵的经验可以为以后编写程序时提醒;
2.经过程序的调试,对子程序结构有了更深的理解,子程序结构为模块化的设计奠定了基础;
3.编写子程序时候,也看到了子程序的调用和返回与高级语言的区别和联系;
4.汇编语言的优势还是要灵活掌握,课余时间还要多多练习,自勉。