201309学期汇编语言作业4
汇编语言4
汇编语言4总分:100考试时间:100分钟一、单项选择题1、补全编程,利用jcxz指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。
assume cs:code code segment start: mov ax,2000h movds,axmov bx,0 s: mov ch,0 ()jcxz ok incbxjmp short s ok: movdx,bxmov ax ,4c00h int 21h code ends end start(正确答案:A)A、mov cl,[bx] ;B、movcx,bx;C、movcl,bx。
2、用Debug查看内存,结果如下:2000:1000 BE 00 06 00 00 00 ...... 则此时,CPU执行指令:mov ax,2000hmoves,axjmpdwordptres:[1000h] 后,(cs:ip)= 。
(正确答案:D)A、0600:00BEH;B、1000H:2000H;C、0000H:0006H;D、0006H:00BEH 。
3、对于指令jmpdwordptr [bx+0dh]的说法错误的是______。
(正确答案:B)A、该指令能够实现段间转移;B、该指令转移的目的地址是在指令明确给出的;C、该指令转移的目的地址被存放在内存空间中;D、该指令中运用的寻址方式是寄存器相对寻址。
4、mov cx,0 s: movax,bx loop s 以上指令序列执行后movax,bx被执行了多少次_____。
(正确答案:D)A、0 ;B、256 ;C、65535 ;D、65536 。
5、下列能够改变CS:IP所指位置并能通过编译的指令是______。
(正确答案:D)A、jmp short [bx] ;B、jne [bx];C、loop byte ptr [bx];D、jmp [bx]。
6、补全编程,利用loop指令,实现在内存2000H段中查找第一个值为0的字节,找到后,将它的偏移地址存储在dx中。
汇编语言程序设计教案及习题答案
汇编语言程序设计教案及习题答案教案章节:一、汇编语言简介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. 汇编语言学习的方法与建议(正确)重点和难点解析本文主要介绍了汇编语言程序设计的基础知识和应用领域,通过详细的章节安排,从汇编语言的基本概念、语法规则、程序设计步骤、常用指令及其功能、输入输出操作、杂项指令、子程序调用、程序举例、调试与优化等方面进行了深入讲解。
汇编语言作业及答案(4)
汇编作业03计算机双专业编出下列数制转换子程序(设字长均是16位)(1)已知数字字符串(十进制无符号整数)存放在输入缓冲区中,输入缓冲区首地址INBUF已存放在SI中,编出把它转化为无符号二进制整数并送入BX中的子程序。
子程序名为DTOBU,子程序调用后原(AX)、(CX)、(DX)、(SI)、(DI)不变。
(2)已知带符号十进制数字字符串已存放在输入缓冲区中,其余要求同上题(子程序名为DTOBF)。
(3)已知无符号二进制整数存放在BX中,把它转化为十进制无符号整数字符串并传送到输出缓冲区中(输出缓冲区首地址已存放在DI中),并存入数字字符串结束符‘$’。
子程序名为BTODU。
子程序调用后原(AX)、(BX)、(CX)、(DX)、(SI)、(DI)不变。
(4)已知带符号二进制整数存放在BX中。
其余要求同上题(子程序名为BTODF)(1)DTOBU PROCPUSH AX ;save the regsPUSH CXPUSH DIPUSH DXXOR BX,BXINC SIMOV CH,SI ;buffer length CMP CH,0JL finalINC SIlop: MOV AH,1MOV AL,SISUB AL,30H ;binary system JL exitCMP AL,9DJG finalCBWXCHG AX,BXMOV DX,10DMUL DXXCHG AX,BXADD BX,AXINC SIDec CHJNZ lopfinal: POP DX ;restore regs POP CXPOP AXMOV SI,INBUFRETDTOBU ENDP(2)DTOBF PROCPUSH AXPUSH CXPUSH DXXOR BX,BXINC SIMOV CH SICMP CH,0JL exitINC SIMOV AH,SICMP AH,43DJE nextCMP AH,45DJE negJMP againneg: SETZ CL next: INC SI DEC CHagain: MOV AH,1 MOV AL,SISUB AL,30HJL exitCMP AL,9DJG exitCBWXCHG AX,BXMOV DX,10DMUL DXXCHG AX,BXADD BX,AXINC SIDEC CHJNZ againCMP CL,1JE qiubuJMP exit qiubu: NOT BX INC BXexit: POP DXPOP CXPOP AXMOV SI,INBUFRETDTOBF ENDP(3)BTODU PROCPUSH AXPUSH DIPUSH SIPUSH BXINC DIINC DIMOV AX,BX again: IDIV 10D ADD AH,30HMOV DI,AHCMP AL,0JL exitCBWINC DIJMP again exit: INC DI MOV DI,’$’POP BXPOP SIPOP DIPOP AX BTODU ENDP (4)BTODF PROCPUSH AXPUSH DIPUSH BXINC DIINC DIMOV AX,BXTEST AX,8000HJNE posDEC AXAX = NOT AX MOV DI,’-’INC DIJMP againpos: MOV DI,’+’ INC DIagain: IDIV 10D ADD AH,30HMOV DI,AHCMP AL,0JL exitCBWINC DIJMP againexit: INC DIMOV DI,’$’ POP BXPOP DIPOP AX BTODF ENDP。
《汇编语言》试题(A4)及参考答案
专业级,学生姓名: 学号:精品文档汇编语言试题(A)参考答案一:选择题(每题2分)1.B2.B3.B4.C5.C6.C7.B8.C9.A10.C二:填空题(每题2分)1. 0,5,52.55H3.04034.随机数5..ASM6.200FEH7.10108.169..OBJ10.00H三:简答题(每题5分)1.(1)用DOS 21H中断调用的功能调用4CH在用户程序结束后插入下面语句 MOV AH,4CH INT 21H(2)用BIOS中断调用20H 在用户程序结束后插入:INT 20H2. FAR;段间调用。
NEAR;段内调用。
3.(1)无符号数乘2:SHL AX,1;RCL DX,1无符号数除2:SHR DX,1;RCR AX,1(2)有符号数乘2:SHL AX,1;RCL DX,1有符号数除2:SAR DX,1;RCR AX,14.MOV BX,OFFSET ADDNUMADD [BX]MOV AL,DS:[BX]5.(1)1200H(2)4C2AH(3)4C2AH(4)65B7H6.AX为地址[1200H]所指内容,AX 为1200H。
精品文档四:编程题( 2题共30分)1.(10分)MOV AX,2E00HMOV DS,AXMOV BX,[0100H]MOV AX,[0100H+2]MOV DS,AXMOV AX,[BX]2.(20分)STACK SEGMENT PARA STACK ‘stack’ (5分)DB 64 DUP(0)STACK ENDSDATA SEGMENT (5分)STRING DB‘……$’RESULT DB 26 DUP(0)DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA (5分)MAIN PROC FARSTART: MOV DX,DATAMOV DS,DXMOV CX,0FFH;255MOV AH,0MOV SI,0NEXT: MOV AL,STRING[SI] (5分)SUB AL,61HMOV DI,AXINC RESULT[DI]INC SILOOP NEXTMOV AH,4CHINT 21HMAIN ENDPCODE ENDSEND START汇编语言试题(A)评分标准和评分细则一:选择题(每题2分)1.B2.B3.B4.C5.C6.C7.B8.C9.A10.C二:填空题(每题2分)1. 0,5,52.55H3.04034.随机数5..ASM6.200FEH7.10108.169..OBJ10.00H三:简答题(每题5分)1.(1)用DOS 21H中断调用的功能调用4CH在用户程序结束后插入下面语句 MOV AH,4CH INT 21H (2)用BIOS中断调用20H 在用户程序结束后插入:INT 20H 2. FAR;段间调用。
汇编语言作业及参考答案
汇编语言作业及参考答案汇编语言作业答案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寄存器的内容。
汇编语言程序设计(第四版)第4章【课后答案】
汇编语言程序设计第四版【课后习题答案】--囮裑為檤第4章基本汇编语言程序设计〔习题4.1〕例题4.2如果要求算术右移8位,如何修改程序。
〔解答〕思路:首先由最高位字节向次低位字节传送……次低位字节向最低位字节传送(共7次);再判最高位字节符号位,如为0,送00h到最高位字节;如为1,送ffh到最高位字节。
传送可参考例题4.2,不过应从第一号字节送第零号字节,……最高位字节向次低位字节传送;也可以用循环来完成:.model small.stack 256.dataqvar dq 54321h.code.startupmov cx,7mov si,1again: mov al, byte ptr qvar[si]mov byte ptr qvar[si-1],alinc siloop againtest al,80hjz ezzmov bl,0ffhjmp doneezz: mov bl,0done: mov byte ptr qvar[7],bl.exit 0end〔习题4.2〕例题4.2如果要求算术左移7位,如何用移位指令实现。
〔解答〕思路:可设计外循环体为8个字节左移一次,方法是:最低位字节算术左移一次,次低位字节至最高位字节依次带CF 位循环左移一次(内循环共8次),外循环体控制执行7次即可。
.model small.stack 256.dataqvar dq 54321h.code.startupmov dx, 7 ;外循环次数mov ax, byte ptr qvar[0] ;最低位字节送axlpp: shl ax, 1 ;最低位字节左移一次,其d7移入CF位mov si, 1mov cx, 7 ;内循环次数again: rcl byte ptr qvar[si], 1 ;高位字节依次左移P50inc siloop againdec dxjnz lpp.exit 0.end〔习题4.3〕将AX寄存器中的16位数连续4位分成一组,共4组,然后把这4组数分别放在AL、BL、CL和DL寄存器中。
北语2013秋《汇编语言》作业1、2、3、4
考生答题情况--------------------------------------------------------------------------------作业名称:13秋《汇编语言》作业1 出卷人:SA作业总分:100 通过分数:60起止时间:2013-11-5 9:23:16 至2013-11-5 13:30:36学员姓名:学员成绩:100标准题总分:100 标准题得分:100详细信息:题号:1 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.7 内容:图形:A、(A)B、(B)C、(C)D、(D)标准答案:B学员答案:B本题得分:3.7题号:2 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.7 内容:在下列指令的表示中,不正确的是( ) 。
A、MOV AL,[BX+SI]B、JMP SHORT DONIC、DEC [BX]D、MUL CL标准答案:C学员答案:C本题得分:3.7题号:3 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.7 内容:图形:A、(A)B、(B)C、(C)D、(D)标准答案:B学员答案:B本题得分:3.7题号:4 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.7 内容:图形:A、(A)B、(B)C、(C)D、(D)标准答案:A学员答案:A本题得分:3.7题号:5 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:5.56 内容:PSW寄存器中共有( ) 位条件状态位,有( ) 位控制状态位。
A、6、3B、3、6C、8、4D、4、8标准答案:B学员答案:B本题得分:5.56题号:6 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.7 内容:图形:A、(A)B、(B)C、(C)D、(D)标准答案:C学员答案:C本题得分:3.7题号:7 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.7 内容:图形:A、(A)B、(B)C、(C)D、(D)标准答案:B学员答案:B本题得分:3.7题号:8 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.7 内容:图形:A、(A)B、(B)C、(C)D、(D)标准答案:C学员答案:C本题得分:3.7题号:9 题型:单选题(请在以下几个选项中选择唯一正确答案)本题分数:3.7 内容:指令JMP?FAR?PTR?DONE属于()。
汇编语言4(循环)
mov ah,2
int 21h
inc bx
loop displp ;调用程序段结束
.exit 0
...
;过程定义
end
例题 具有多种出口旳子程序
HTOASC proc
;将AL低4位体现旳一位16进制数转换为ASCII码
and al,0fh
cmp al,9
jbe htoasc1
add al,37h ;是0AH~0FH,加37H
inc si
;继续对后续字符进行处理
jmp outlp
.exit 0 ;结束
第4章
编写一程序,计算指数函数Xn旳值
能否用顺序、分支、循环构造实现?
放松一下
第4章
4.4 子程序设计
➢ 把功能相对独立旳程序段单独编写和 调试,作为一种相对独立旳模块供程 序使用,就形成子程序
➢ 子程序能够实现源程序旳模块化,可 简化源程序构造,能够提升编程效率
子程序设计要利用过程定义伪指令
参数传递是子程序设计旳要点和难点
子程序能够嵌套; 一定条件下,还能够递归和重入
过程名 proc [near|far] ...
过程名 endp
4.4.1 程序定义伪指令
➢ 过程名(子程序名)为符合语法旳标识符
NEAR属性(段内近调用)旳过程只能被相同代码段旳其 他程序调用
?
循环构造
第4章
循环构造 (先判断,后循环)
游戏
初始化
控制条件 Y 循环体
修改部分
循环旳初始状态 1、从第1排第1个 同学开始 2、判断第n排第n
N 循环控制部分 个同学旳学号是否 不大于自己旳学号
循环旳工作部分 3、假如不大于, 及修改部分 就做加法运算,座
汇编语言程序设计(4)
计算机原理教程
4.1.2 基本选择结构
根据不同的条件,需要进行不同的处理,在不同的程序间进行选择。
运算、比较、测试 建立标志位
真
LA 程序A
条件
假
LB 程序B
LC
……
Jcc LA LB: ……
…… ; 程序B(“假”) ……
JMP LC LA: ……
JGE, JNL
大于等于(不小于)时转移
OF⊕SF= 0
JZ, JE
为零(相等)时转移
ZF= 1
JNZ, JNE
不为零(不相等)时转移
ZF=0
JL, JNGE
小于(不大于等于)时转移
OF⊕SF= 1
JLE, JNG
小于等于(不大可整于理)pp时t 转移
OF⊕SF= 1或ZF=110
计算机原理教程
2)根据两个无符号数比较结果的条件转移指令 两个有符号数的比较结果通过CF,ZF反映出来,代表转移条 件的字母有A(above),B(below),E(equal)。
FAR_TGT DD TWO ;数据定义
JMP FAR PTR TWO
;第一组,远程直接转移
LEA BX, FAR_TGT
JMP DWORD PTR[BX] ;第二组,远程间接转移
JMP FAR_TGT
可整理;pp第t 三组,远程间接转移
6
计算机原理教程
2、比较和测试指令
该指令用来确定某个数据的特征,如是否小于0、是否为偶数。
指令 TEST VAR, 1 执行后:
如果ZF = 0,说明变量VAR的D0位为1,该数为奇数
如果ZF = 1,说明变量VAR的可整D理0位ppt为0,该数为偶数
《汇编语言》作业及答案
习题一1.在计算机内部,计算机能够直接执行的程序语言是。
A.汇编语言B.C++语言C.机器语言D.高级语言2.在堆栈段中,存放栈顶地址的寄存器是。
A.IP B.SPC. BX D. BP3.指令指针寄存器IP用来存放代码段中的偏移地址。
在程序运行的过程中,它始终指向。
A.下一条指令的首地址B.下一条指令的地址C.当前指令的首地址D.当前指令的地址4.编译程序的功能是。
A.检查源程序中的语法错误和逻辑错误B.将源程序编译成目标程序C.改正源程序中的语法错误D.将高级语言源程序翻译成汇编语言源程序5.用户为了解决自己的问题,用汇编语言所编写的程序,称为。
A.目标程序B.源程序C.可执行程序D.汇编程序6.计算机中用来存储程序、数据等信息的记忆装置是。
A.控制器B.运算器C.CPUD.存储器7.在宏汇编中,源程序必须通过____编译_______生成目标代码,然后用连接程序将其转化为可执行文件, 该文件可在系统中运行。
习题二1 当SS =3000H,SP =0100H 时,执行PUSH AX 指令后,堆栈顶部的物理地址是()A.30100H B.30098H C.30102H D.300FEH2 设10000010B分别以原码、补码及反码表示时,则对应的十进制数依次是()A.-82、-126、-2B.-2、-125、126C.-2、-126、-125D.-82、-125、1253 标志寄存器中属于控制标志位的是()A. DF,OF,SFB. DF,IF,TFC. OF,CF,PFD. AF,OF,SF4 设(AX)=4544H,在执行指令”SUB AH,AL”之后,()A.CF=0,OF=0 B.CF=0,OF=1C.CF=1,OF=0 D.CF=1,OF=15 若寄存器AX、BX、CX、DX的内容分别为18,19,20,21时,依次执行PUSH AX,PUSH BX,POP CX,POP DX后,寄存器CX的内容为______19____________。
汇编语言习题答案
第一章.习题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位二进制补码计算下列各题,并用十六进制数表示其运算结果。
(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。
汇编语言程序设计习题集
汇编语言程序设计习题集第四章汇编语言程序设计习题集一、单项选择题1. 用高级语言编写的程序()。
A. 只能在基本种计算机上运行B. 无需经过编译或解释,即可被计算机直接执行C. 具有通用性和可移植性D. 几乎不占用内存空间2. 一般地,我们将计算机指令的集合称为()。
A.机器语言 B. 汇编语言 C. 模拟语言 D. 仿真语言3. 我们通常所说的“裸机”指的是()。
A. 只装备有操作系统的计算机B. 不带输入输出设备的计算机C. 未装备任何软件的计算机D. 计算机主机暴露在外4. 计算机的软件系统一般分为()两大部分。
A. 系统软件和应用软件B. 操作系统和计算机语言C. 程序和数据D. DOS和Windows5.计算机系统软件中的汇编程序是一种()。
A. 汇编语言程序B. 编辑程序C. 翻译程序D. 将高级语言转换成汇编程序的程序6. 假设V1和V2是用DW定义的变量,下列指令中正确的是:()A. MOV V1,20HB. MOV V1,V2C. MOV AL,V1D. MOV 2000H,V27. PC机所使用的标准键盘向主机发送的代码是()A . ASCII码B . 扫描码 C. BCD码 D. 格雷码8. 8086CPU中断号为8的中断矢量存放在()。
A. 0FFFFH:0008HB. 0000H:0008HC. 0000H:0020HD. 0020H:0000H9. 已知变量VAR为字型,则TYPE VAR=()。
A. 1B. 2C. 3D. 410.汇编语言源程序经MASM汇编后可直接生成的文件是()。
A. .LSTB. .CRFC. .EXED. .OBJE. .ASMF. .MAP11. 段定义语句以( B )语句结束。
A.ENDB.ENDSC.ENDPD.ENDM12.若主程序段中数据段名为DATA,对数据段的初始化操作应为()。
A. MOV AX,DATAB. MOV AX,DATAMOV ES,AX MOV DS,AXC. PUSH DSD. MOV DS,DATA 13. .EXE文件产生在()之后。
第四章汇编语言程序设计题库
第四章汇编语言程序设计题库第四章汇编语言程序设计练习题一. 单项选择题( 共40 题)K关于指令MOV [BX], AX,以下叙述正确的是:A、目的操作数是寄存器操作数B、源操作数是内存操作数C、目的操作数是内存操作数D、源操作数是立即操作数2、执行下列程序,设(SS)=2000H,执行后(SP) = ?MOV SP, 2000H MOV AX, 1234H PUSH AXA. 21FFEHB. 20000HC. 22000H D, 22002H3、运算型指令的寻址和转移型指令的寻址,其不同点在于A.前者取操作数,后者决定程序的转移地址B.后者取操作数,前者决定程序的转移地址C•两者都是取操作数D.两者都是决定程序的转移地址4、MOV ( ),300A. WORD PTR [DX]B. BYTE PTR [BX]C. WORD PTR [BP] D、AL5、汇编语言程序代码必须位丁?代码段中,形成代码段物理地址的寄存器对是A. SS: SP B? CS: IP C? DS: BX D? CS: BX6、若定义DAT DW'A',则(DAT)和(DAT+1)两个相邻的内存中存放的数据是0A. 0041H B? 41 OOH C? XX41H D? 41XXH7、执行下面的程序段后,(AX)=()TAB DW b 2, 3, 4, 5, 6 ENTRY EQU 3 MOV BX, OFFSET TABADD BX, ENTRT MOV AX, [BX]A. 0003HB. 0300HC. 0400HD. 0001H8、下面表示段定义结束的命令是( )A? ENDP B? ENDS C. ENDM D. END9、设AL、BL,中都是带符号数,当ALvBL时转至NEXT处,在CMP AL, BL指令后应选用正确的条件转移指令是()11、执行下列指令后,SP 寄存器的值是()MOV SP,1000H PUSH AXA. OFFEHB. OFFFHC.1001HD. 1002H12 、完成将有符号数BX 的内容除以2的正确指令是()A. SHRBX, 1B. SAR BX, 1C. ROR BX ? 1D. RCR BX, 113、汇编语言源程序经汇编后不能直接生成()C.A. OBJ 文件B. LST 文件EXE 文件 D ? CRF 文件14、 执行下列程序 (AL )=( DATA SEGMENTTAB-DA DB ‘0123456789 'DATA ENDSASSUME CS : CODE, DS : DATASTART : MOV AX, DATAMOVDS, AXMOV BX, OFFSET TAB-DA MOV AL, 04XLATA. 52B. 33H C ? 30HD. 1215、设BL=05H,要使结果BL=OAH,应执行的指令是() A. NOT BL正确使用的指令是 OA. MOV AX, 0089B ? MDV AX, 0809HC. MDV AX, 0089H D ?MOV AX, 0809B ? ANDA. JBE B ? JL C ? JNA D ? JNLE10、指令 L00PZ 它的循环执行条件是()D. CX 不等于0或ZF=1CODE SEGMENTC.XOR BL, OFH D ? OR BL, OFH16、用MOV 指令将十进制数89以组合型BCD 码格式送入AX,17、完成BX-CX 结果送AX 的错误操作是()A. CX 不等 T 0 11 ZF=OB. CX 不等于 0 或 ZF 二 0C.CX 不等于 0 ILZF=1A ? SUB BX, CX MOV AX, BX B ? SUB AX, BX SUB AX, CX C. XCNG AX, BXSUB AX, CX D ? MOV AX, BXSUB AX, CX18、表示一条指令的存储单元的符号地址称()A标号B.变量C偏移量D.类型19、变量的类型属性如下,下面错误的类型是()A.字节型B•字型C字符型D.双字型20、现用数据定义伪指令定义数据:BUF DB 4 DUP(O, 2 DUP(1, 0));定义后,存储单元中有数据0100H的字单元个数是() A. 4 B. 3 C. 8D. 1221、分析下面指令序列执行后的正确结果是()MOV BX, OFFFCHMOV CL, 2 SAR BX, CLA. 3FFFHB. OFFFFH C OFFFCH D. 0FFF5H22•下面指令序列执行后完成的运算,正确的算术表达式应是()MOV AL, BYTE PTR X; SHL AL, 1; DEC AL;MOV BYTE PTR Y, AL;23、TEST VAR, 55HJZ ZERO ZEROA. y=2x+l B ? x=y+l C? y=2x-l D ? x = y-l上述程序段当变量VAR的内容为何值时,执行JZ ZERO条件转移指令后,可满足()中,条件转至ZERO 处A.(VAR)=0 B? (VAR)二53H C? VAR 中第0, 2, 4, 6 位为0 D? VAR 中第1, 3, 5, 7 位为0。
汇编语言部分作业题(含答案)
一、填空题1、编写一条宏指令CLRB,完成用空格符将一字符区中的字符取代的工作。
字符区首地址及其长度为变元。
宏定义如下:CLRB MACRO N, CFILMOV CX, ()CLDMOV ( ), ' ' ;;取空格符的ASCII码() DI, CFILREP ( )( )正确答案:第一空:n第二空:al第三空:LEA第四空:STOSB第五空:endm我的答案:得分: 6.6分第一空:N第二空:AL第三空:LEA第四空:STOSB第五空:ENDM2、某工厂计算周工资的方法是每小时的工资率RATE乘以工作时间HOUR,另外每工作满10小时加奖金3元,工资总数存放在WAG中。
请将周工资的计算编写成一条宏指令WAGES.宏定义如下:WAGES MACRO RATE, HOUR, WAGMOV (), HOUR ;;计算周工资(WAG),公式为:HOUR* RATEMOV BL, RATEMUL BLMOV WAG, AXMOV AL, HOUR ;;计算奖金存入(AX),公式为:HOUR/10的商*3MOV AH, 0MOV BL, 10DIV ()MOV BL, ()MUL ()ADD WAG, ();;计算周工资总数ENDM正确答案:第一空:al第二空:bl第三空:3第四空:BL第五空:AX我的答案:得分: 6.6分第一空:AL第二空:BL第三空:3第四空:BL第五空:AX3、下面的程序段是二进制到十六进制转换程序,请填空。
mov ch, 4 rotate: mov cl, 4rol bx,()mov al, bland al,()add al, 30h ; ’0’~’9’ ASCII 30H~39Hcmp al, 3ahjl printitadd al,() ; ’A’~’F’ ASCII 41H~46Hprintit: mov() , almov ah, 2int 21h()jnz rotate正确答案:第一空:cl第二空:0f;0fh第三空:7h;07h;07第四空:dl第五空:dec ch我的答案:得分: 6.6分第一空:cl第二空:0fh第三空:07h第四空:dl第五空:dec ch4、IRP BUF,<3,17,20,46,87,89,100> DB BUFENDM汇编后生成的代码等价于( )正确答案:第一空:DB 3,17,20,46,87,89,100我的答案:得分: 6.6分第一空:DB 3,17,20,46,87,89,1005、IRPC BUF,12345DB BUFendm汇编后的代码等价于:()正确答案:第一空:DB 1,2,3,4,5我的答案:得分: 6.6分第一空:DB 1,2,3,4,56、已知宏定义:FOO macro p1,p2,p3mov ax,p1p2,p3endm宏调用:FOO WORD_VAR,inc,ax则宏展开指令是( )( )正确答案:第一空:ov ax,WORD_VAR第二空:inc ax我的答案:得分: 7.6分第一空:mov ax,WORD_VAR第二空:inc ax7、已知宏定义:LEAP macro COND,LABJ&COND LABendm宏调用:LEAP Z,THERE则宏展开指令是()正确答案:第一空:JZ THERE我的答案:得分: 7.6分第一空:JZ THERE8、已知宏定义FO macro P1JMP TA&P1endm宏调用:FO WORD_VAR则宏展开结果是( )正确答案:第一空:JMP TAWORD_VAR我的答案:得分: 7.6分第一空:JMP TAWORD_VAR9、已知宏定义:MSGGEN macro LAB,NUM,XYZLAB&NUM db 'hello mr.&XYZ' endm宏调用:MSGGEN MSG,1,taylor则宏展开结果是( )正确答案:第一空:MSG1 db 'hello mr.taylor'我的答案:得分: 7.6分第一空:MSG1 db 'hello mr.taylor'10、MSG macro COUNT,STRINGMSG&COUNT db STRINGendmERRMSG macro TEXTCNTR=CNTR+1MSG %CNTR,TEXTendm宏调用:CNTR=0ERRMSG 'syntax error'则宏展开是( )正确答案:第一空:MSG1 db 'syntax error'我的答案:得分: 7.6分第一空:MSG1 db 'syntax error'11、下面的循环程序是利用逻辑尺来控制的,请填空。
汇编语言习题答案
第一章.习题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位二进制补码计算下列各题,并用十六进制数表示其运算结果。
(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=B=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=B=0F7H;CF=0;OF=01.6下列各数为十六进制表示的8位二进制数,请说明当它们分别被看作是用补码表示的带符号数或无符号数时,它们所表示的十进制数是什么?(1) D8 (2) FF答:(1) D8H表示的带符号数为-40,D8H表示的无符号数为216;(2) FFH表示的带符号数为-1,FFH表示的无符号数为255。
汇编语言3-4
9ຫໍສະໝຸດ 第3章标志寄存器进出堆栈指令
POPF ;FLAGS←SS:[SP] ;SP←SP+2 POPF指令将栈顶字单元 内容送标志寄存器,同 时栈顶指针SP加2
PUSHF ;SP←SP-2 ;SS:[SP]←FLAGS PUSHF指令将标志寄存 器的内容压入堆栈, 同时栈顶指针SP减2
Page 108
业
3.3 3.10
ASM
18
ASM
16
第3章
CWD
类型转化指令: CWD 功能:字转化为双字
格式:AX的符号扩展至DX
;如AX的最高有效位是0,则DX=
00 ; AX 的 最 高 有 效 位 为 1 , 则 DX = FFFFH。AX不变
ASM
17
第3章
作
标志低字节进出AH指令
SAHF ;FLAGS的低字节←AH SAHF 将 AH 寄 存 器 内 容 送FLAGS的低字节 用AH的第7/6/4/2/0位 相 应 设 置 SF/ZF/AF/ PF/CF标志
LAHF ;AH←FLAGS的低字节 LAHF 指 令 将 标 志 寄 存 器的低字节送寄存器 AH SF/ZF/AF/PF/CF 状 态 标 志 位 分 别 送 入 AH 的 第7/6/4/2/0位,而AH 的第5/3/1位任意
ASM
7
第3章
(a) 标志寄存器传送
标志寄存器传送指令用来传送标志寄存
器FLAGS的内容,方便进行对各个标志 位的直接操作 有2对4条指令
低8位传送:LAHF和SAHF 16位传送:PUSHF和POPF
ASM
8
第3章
用于任意设置进位标志
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
201309学期汇编语言作业4
单项选择题
第1题为了将编号的中断处理程序设置完后主流内存,成为系统软件的一部分,需要使用DOS功能调用的___号功能。
A、31H
B、25H
C、35H
D、21H
答案:A
第2题下列不属于软中断的是___。
A、断点中断
B、单步中断
C、INTR
D、溢出中断
答案:C
第3题使中断处理程序驻留内存的DOS功能号是___。
A、05H
B、31H
C、1AH
D、21H
答案:B
第4题外部中断服务程序首先进行的操作是___。
A、保护现场
B、数据处理
C、中断处理
D、返回主程序
答案:A
第5题CPU响应中断请求和响应DMA请求的本质区别是___。
A、程序控制
B、需要CPU干预
C、响应中断时CPU仍控制总线而响应DMA时,让出总线
D、速度快
答案:C
第6题若CPU地址线为25根,则能够直接访问的存储器最大容量为___。
A、1M
B、5M
C、16M
D、32M
答案:D
第7题10号系统功能调用为___。
A、键盘输入
B、显示字符
C、字符串显示
D、字符串输入
答案:D
第8题八位二进制补码整数的最小值是___。
A、-126D
B、-127D
C、-128D
D、-128D
答案:D
第9题下列不属于二进制数的优点的是___。
A、容易实现
B、便于存储
C、抗干扰性强
D、阅读、书写、记忆、输入方便
答案:D
第10题全局符号伪指令为___。
A、EXTERN
B、PUBLIC
C、SEGMENT
D、PARA
答案:B
多项选择题
第11题循环设计需要解决的问题有___。
A、循环方式的选择
B、循环的条件设计
C、循环的时间消耗
D、循环体的设计
答案:A|B|D
第12题下列传送指令中有语法正确的是___。
A、MOV CS,AX
B、MOV DS,AX
C、MOV SS,AX
D、MOV ES,AX
答案:A|B|C
第13题下列叙述正确的是___。
A、立即数不能直接送段寄存器
B、目的操作数不能是立即数和段寄存器
C、不能在两个存储单元间直接传送数据
D、两个段寄存器之间不能直接传送数据
答案:A|D
第14题常用DOS中断有___。
A、中断处理类
B、时间处理类
C、文件处理类
D、鼠标处理类
答案:A|B
第15题PC/XT的系统中段有___。
A、软中断
B、硬中断
C、NMI
D、INTR
答案:A|B|C
第16题一个子程序___条RET语句。
A、只有1条
B、只能有1条
C、可以只有1条
D、可以有多条
答案:C|D
第17题参数较少时,使用约定寄存器的优点是___。
A、不用现场保护
B、设计方便
C、不易出错
D、速度较快
答案:A|B|C
第18题数据定义伪指令包括___。
A、DB
B、DD
C、DQ
D、DT
答案:A|B|C|D
判断题
第19题assume为指令的作用是给段寄存器赋值。
答案:错误
第20题连接程序是把若干个模块连接起来成为可执行程序的系统程序。
答案:正确。