新汇编语言程序设计钱晓捷第3章习题答.docx
《新汇编语言程序设计钱晓捷第3章习题答.docx》由会员分享,可在线阅读,更多相关《新汇编语言程序设计钱晓捷第3章习题答.docx(15页珍藏版)》请在三一办公上搜索。
1、新汇编语言程序设计钱晓捷第3章习题答第3章 汇编语言程序格式 习题3.1伪指令语句与硬指令语句的本质区别是什么?伪指令有什么主要作用? 解答 伪指令语句与硬指令语句的本质区别是能不能产生CPU动作; 伪指令的作用是完成对如存储模式、主存变量、子程序、宏及段定义等很多不产生CPU动作的说明,并在程序执行前由汇编程序完成处理。 习题3.2什么是标识符,汇编程序中标识符怎样组成? 解答 为了某种需要,每种程序语言都规定了在程序里如何描述名字,程序语言的名字通常被称为标识符; 汇编语言中的标识符一般最多由31个字母、数字及规定的特殊符号组成,不能以数字开头。 习题3.3 什么是保留字,汇编语言的保留字
2、有哪些类型,并举例说明。 解答 保留字是在每种语言中规定了有特殊意义和功能的不允许再做其它用处的字符串;汇编语言的保留字主要有硬指令助记、伪指令助记符、运算符、寄存器名以及预定义符号等。汇编语言对大小写不敏感。如定义字节数和字符串的DB就是伪指令助记符。 习题3.4汇编语句有哪两种,每个语句由哪4个部分组成? 解答 汇编语句有执行性语句和说明性语句; 执行性语句由标号、硬指令助记符、操作数和注释四部分组成; 说明性语句由名字、伪指令助记符、参数和注释四部分组成 习题3.5汇编语言程序的开发有哪4个步骤,分别利用什么程序完成、产生什么输出文件。 解答 编辑 文本编辑程序 汇编语言源程序.asm
3、汇编 汇编程序 目标模块文件.obj 连接 连接程序 可执行文件.exe或.com 调试 调试程序 应用程序 习题3.6将第2章习题2.36采用简化段定义格式编写成一个完整的源程序。 解答 ;简化段定义格式 .model small ; 定义程序的存储模式 .stack ; 定义堆栈段 .data ; 定义数据段 str1 db Input Number:09 : ,0dh,0ah,$ str2 db Error!,0dh,0ah,$ .cade ; 定义代码段 .startup ; 说明程序的起始点,建立ds,ss的内容。 mov ah,09h ; 显示str1字符串 mov dx,offs
4、et str1 int 21h getkey: mov ah,1 ; 调用DOS功能 int 21h cmp al,0 jb error ; 小于0,出错处理 cmp al,9 ja error ; 大于9,出错处理 mov ah,02h ; 调用DOS显示字符功能,显示该数字 mov dl,al int 21h .exit 0 ; 终止程序执行,返回DOS error: mov ah,09h ; 出错,调用DOS 功能显示str2字符串 mov dx,offset str2 int 21h jmp getkey ; 返回按键 end ; 汇编结束 习题3.7将第2章习题2.37采用完整段定义
5、格式编写成一个完整的源程序。 解答 ;xt307.asm stack segment dw 512 dup(?) stack ends data segment array db 255 db 0 array1 db 255 dup($) array2 db 0dh,0ah,$ data ends code segment code assume cs:code, ds:data, ss:stack start: mov ax,data mov ds,ax mov ah,0ah ; 键盘输入字符串 mov dx,offset array int 21h mov dx,offset array2
6、 ; 回车换行 mov ah,09h int 21h mov bx,offset array1 again: mov al,bx cmp al,$ jz done cmp al,a ; 小于a和大于z的字符不是小写字母 jb next cmp al,z ja next sub al,20h ; 在a和z之间的字符才是小写字母,转换为大写 mov bx,al ; 保存到原位置 next: inc bx jmp again done: mov dx,offset array1 mov ah,09h int 21h mov ax,4c00h int 21h code ends end start 习
7、题3.8区分下列概念: 变量和标号 数值表达式和地址表达式 符号常量和字符串常量 解答 变量是在程序运行过程中,其值可以被改变的量;标号是由用户自定义的标识符,指向存储单元,表示其存储内容的逻辑地址。 数值表达式一般是由运算符连接的各种常数所构成的表达式,地址表达式是由名字、标号以及利用各种的操作符形成的表达式。 在程序中,为了使常量更便于使用和阅读,经常将一些常量用常量定义语句定义为符号常量,被一对双引号括起来的若干个字符组成的字符序列被称为字符串常量。 习题3.9假设myword是一个字变量,mybyte1和mybyte2是两个字节变量,指出下列语句中的错误原因。 mov byte ptr
8、 bx,1000 mov bx,offset mywordsi cmp mybyte1,mybyte2 mov al,mybyte1+mybyte2 sub al,myword jnz myword 解答 1000超出了一个字节范围 寄存器的值只有程序执行时才能确定,而offset是汇编过程计算的偏移地址,故无法确定,改为lea bx,mywordsi 两个都是存储单元,指令不允许 变量值只有执行时才确定,汇编过程不能计算 字节量AL与字量myword,类型不匹配 Jcc指令只有相对寻址方式,不支持间接寻址方式 习题3.10OPR1是一个常量,问下列语句中两个AND操作有什么区别? AND A
9、L,OPR1 AND 0feh 解答 前者为“与”操作硬指令助记符,可汇编成机器代码。 后者为逻辑运算符,在汇编时进行“与”运算,产生具体数值。 习题3.11给出下列语句中,指令立即数的值: mov al,23h AND 45h OR 67h mov ax,1234h/16+10h mov ax,NOT(65535 XOR 1234h) mov al,LOW 1234h OR HIGH 5678h mov ax,23h SHL 4 mov ax,1234h SHR 6 mov al,a AND (NOT(a-A) mov al,H OR 00100000b mov ax,(76543 LT 3
10、2768) XOR 7654h 解答 注:对于逻辑运算,有关操作数可化为二进制数。 67h 133h 1234h 76h 0234h 0048h 41h 68h 7654h 习题3.12为第2章例题2.54定义变量count、block、dplus和dminus。 解答 假设block开始的数据块有32个字节数据:16个正数+100 (64h)、16个负数 -48 分别连续分布: block db 16 dup,16 dup ;也可以是任意字节数据,随意分布。 dplus db 32 dup(?) ;为正数预留存储空间 dminus db 32 dup(?) ;为负数预留存储空间 count
11、equ 32 ;字节数 习题3.13为第2章例题2.55定义相应变量,并形成一个完整的汇编语言程序。 解答 ;lt239b.asm .model small .stack .data string1 db good morning ! ;两字符串可相同或不同,但字符数要求相同。 string2 db Good morning ! result db ? ;预留结果字节 count = 14 ;字符数 .code .startup mov ax,ds ;所有数据在同一个段,所以使es=ds mov es,ax mov si,offset string1 mov di,offset string2
12、 mov cx,count again: cmpsb jnz unmat dec cx jnz again mov al,0 jmp output unmat: mov al,0ffh output: mov result, al .exit0 end 习题3.14画图说明下列语句分配的存储空间及初始化的数据值: byte_var DB ABC,10,10h,EF,3 DUP(-1,?,3 DUP(4) word_var DW 10h,-5,EF,3 DUP(?) 解答 从低地址开始,依次是: 41 42 43 0a 10 45 46 ff 04 04 04 ff 04 04 04 ff 04
13、 04 04 从低地址开始,依次是: 10 00 FB FF 46 45 习题3.15请设置一个数据段mydataseg,按照如下要求定义变量: my1b为字符串变量:Personal Computer my2b为用十进制数表示的字节变量:20 my3b为用十六进制数表示的字节变量:20 my4b为用二进制数表示的字节变量:20 my5w为20个未赋值的字变量 my6c为100的常量 my7c表示字符串:Personal Computer 解答 mydataseg segment my1b db Personal Computer my2b db 20 my3b db 14h ;20h my4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 程序设计 钱晓捷第 习题
链接地址:https://www.31ppt.com/p-3567372.html