第三章 汇编语言_01
- 格式:ppt
- 大小:726.50 KB
- 文档页数:61


--------------------------可以编辑的精品文档,你值得拥有,下载后想怎么改就怎么改---------------------------
==========================================================
--------------------------可以编辑的精品文档,你值得拥有,下载后想怎么改就怎么改---------------------------
========================================================================== 问题:画图说明下列语句分配的存储空间及初始化的数据值解答:(1)byte_varDB 'ABC',10,10h,'EF',3 DUP(-1,?,3 DUP(4))(2)word_varDW 10h,-5,3 DUP(?)习题3.10‘A’‘B’‘C’1010h‘E’‘F’-1-444...41h42h43h0ah10h45h46hffh-04h04h04h3个10h0FBhFFh------10h-5???
3.16 解:
mov ah,1 ;只允许输入小写字母
int 21h
sub al,20h ;转换为大写字母
mov dl,al
mov ah,2
int 21h ;显示
3.18 解:
mov ax, bufX
cmp ax, bufY
jge done
mov ax, bufY
done: mov bufZ, ax
3.19 解:
.model small
.stack
.data
bufX dw -7
signX db ?
.code
.startup
cmp bufX,0 ;test bufX,80h --------------------------可以编辑的精品文档,你值得拥有,下载后想怎么改就怎么改---------------------------
1 问题:画图说明下列语句分配的存储空间及初始化的数据值解答:(1)byte_varDB 'ABC',10,10h,'EF',3 DUP(-1,?,3 DUP(4))(2)word_varDW 10h,-5,3 DUP(?)习题3.10‘A’‘B’‘C’1010h‘E’‘F’-1-444...41h42h43h0ah10h45h46hffh-04h04h04h3个10h0FBhFFh------10h-5???
3.16 解:
mov ah,1 ;只允许输入小写字母
int 21h
sub al,20h ;转换为大写字母
mov dl,al
mov ah,2
int 21h ;显示
3.18 解:
mov ax, bufX
cmp ax, bufY
jge done
mov ax, bufY
done: mov bufZ, ax
3.19 解:
.model small
.stack
.data
bufX dw -7
signX db ?
.code
.startup
cmp bufX,0 ;test bufX,80h
2 jl next ;jnz next
mov signX,0
jmp done
next: mov signX,-1
done: .exit 0
end
3.20 解:
mov dl,’2’
mov ax,bufX
cmp ax,bufY
je next1
dec dl
next1: cmp ax,bufZ
je next2
dec dl
next2: mov ah,2
int 21h
3.22 编制程序完成12H、45H、0F3H、6AH、20H、0FEH、90H、0C8H、57H和34H等10个字节数据之和,并将结果存入字节变量SUM中(不考虑溢出和进位)。
;wjxt322.asm
.model small
11798352.doc - 0 -
《IBM—PC汇编语言程序设计》习题参考答案
第 一 章. 习 题
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=7FFFH
1.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=255
1.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=4660
1.4 完成下列十六进制数的运算,并转换为十进制数进行校核:
(1) 3A+B7 (2) 1234+AF (3) ABCD-FE (4) 7AB×6F
答:(1) 3A+B7H=F1H=241
(2) 1234+AFH=12E3H=4835
1 第三章 宏汇编语言
每种计算机语言都规定了自己的字符、基本词汇、典型语句和语法规则。同样,汇编语言也有自己的字符、基本词汇、典型语句和语法规则。
字符:ASCII字符 基本词汇:符号指令(MOV、ADD)伪指令(DB、SEGMENT等)
典型语句: 机器指令语句 —— 对应机器指令的一种操作。 伪指令语句 —— 无机器语言与之对应,不生成机器指令。
宏指令语句 —— 一条宏指令对应多条机器指令,产生一组目标代码。
语法规则:基本语法单位(常量、变量、标号、表达式)
前面的例子已介绍了源程序的基本结构、格式、名字的定义、语句格式,下
面将更深入地介绍有关语法规则。
3.1 表达式
汇编程序的语句及程序格式都比较固定,语句中除正确选择操作符之外,主要问题在于正确表示操作数地址,这涉及到寻址方式,可以归结到地址表达式
的使用。 表达式:由常数、寄存器、标号、变量加上运算符构成的式子。
数值表达式:是一个常量,有大小、无属性 表达式 地址表达式:表示的是EA,有段、EA、类型等三个属性。 2 3.1.1. 常量与数值表达式
一. 常量
常量:从源程序翻译成目标程序期间已经有确定数值的量。 用途:赋值、作立即数、位移量。
二. 数值表达式
由常量与运算符组成的式子。数值表达式在汇编期间进行运算,结果为常量。
汇编期间允许对常量进行3种运算:
1. 算术运算
包括:+、–、*、/、模除(MOD,取余数)、右移、左移。
2. 逻辑运算 逻辑乘:AND(与)
逻辑加:OR(或)
按位加:XOR(异或) 逻辑非:NOT(非)
3. 关系运算
包括:相等(EQ)、不等(NE)、小于(LT)、大于(GT)、小于等于(LE)、
大于等于(GE)。
运算结果:关系不成立,结果为0;关系成立,结果为–1(0FFFFH)。 常量的分类: 数值常量:二进制、八进制、十进制、十六进制
字符常量:用单引号括起来。‟12‟ 3 如:N = 50 M = (N EQ 50)