第03章-汇编语言程序设计1-顺序结构程序设计课件
合集下载
汇编语言程序设计教程课件

3
本课程与其它课程的关系
n 汇编语言是计算机科学专业语言类最基 础的课程之一,《计算机文化基础》、 《计算机编程基础》等作为本课程的前 导课程。
n 学好这门课程,可为学习相关的专业课 打下基础,它是《微机原理及接口技术 》、《操作系统》、《计算机组成原理 》、《编译原理》和《单片机原理及应 用》等的前导课程。
n 多种高级语言投入使用。
11
第3代计算机的特点
n 计算机运算速度提高到每秒运算百万次 以上。
n 多种更完善的操作系统推向使用。 n 推出“系列机”的概念,较好地解决了计
算机硬件不断更新而软件相对稳定的矛 盾。 n 根据计算机的主要性能(字长、速度、容 量等)将计算机分成巨型机、大型机、中 型机和小型机等不同型号。
12
2
课程的性质与基本要求
n 汇编语言是能够利用计算机所有硬件特性的 一门语言,在涉及到硬件设计的系统中,一 般都用汇编语言完成接口部分程序的设计。
n 汇编语言适合于编制在时间和空间要求都很 高的程序。
n 本课程的开设,对于训练学生掌握微型计算 机的结构、指令的操作过程、汇编语言程序 设计技术以及应用汇编语言编制实用程序都 有重要的作用。
汇编语言程序设计教程
1
内容简介
n本书以IBM PC机作为背景系统,介绍微机原理的基础知识 及汇编语言程序设计的方法和技术。 n全书共分9章,第1章和第2章介绍微机基础知识以及80x86 机型的系统结构。 n第3章详细介绍IBM PC机的寻址方式和指令系统。第4章介 绍伪指令、汇编语言程序格式等知识。 n第5章讲述高级汇编技术,包括宏汇编、条件汇编、重复汇 编等。第6章讲述顺序程序设计、分支程序设计、循环程序 设计、子程序(过程)设计及参数传递的方法。 n第7章讲述DOS功能调用和BIOS功能调用知识。第8章是输 入/输出程序设计技术。 n第9章是汇编语言程序设计实验指导。
本课程与其它课程的关系
n 汇编语言是计算机科学专业语言类最基 础的课程之一,《计算机文化基础》、 《计算机编程基础》等作为本课程的前 导课程。
n 学好这门课程,可为学习相关的专业课 打下基础,它是《微机原理及接口技术 》、《操作系统》、《计算机组成原理 》、《编译原理》和《单片机原理及应 用》等的前导课程。
n 多种高级语言投入使用。
11
第3代计算机的特点
n 计算机运算速度提高到每秒运算百万次 以上。
n 多种更完善的操作系统推向使用。 n 推出“系列机”的概念,较好地解决了计
算机硬件不断更新而软件相对稳定的矛 盾。 n 根据计算机的主要性能(字长、速度、容 量等)将计算机分成巨型机、大型机、中 型机和小型机等不同型号。
12
2
课程的性质与基本要求
n 汇编语言是能够利用计算机所有硬件特性的 一门语言,在涉及到硬件设计的系统中,一 般都用汇编语言完成接口部分程序的设计。
n 汇编语言适合于编制在时间和空间要求都很 高的程序。
n 本课程的开设,对于训练学生掌握微型计算 机的结构、指令的操作过程、汇编语言程序 设计技术以及应用汇编语言编制实用程序都 有重要的作用。
汇编语言程序设计教程
1
内容简介
n本书以IBM PC机作为背景系统,介绍微机原理的基础知识 及汇编语言程序设计的方法和技术。 n全书共分9章,第1章和第2章介绍微机基础知识以及80x86 机型的系统结构。 n第3章详细介绍IBM PC机的寻址方式和指令系统。第4章介 绍伪指令、汇编语言程序格式等知识。 n第5章讲述高级汇编技术,包括宏汇编、条件汇编、重复汇 编等。第6章讲述顺序程序设计、分支程序设计、循环程序 设计、子程序(过程)设计及参数传递的方法。 n第7章讲述DOS功能调用和BIOS功能调用知识。第8章是输 入/输出程序设计技术。 n第9章是汇编语言程序设计实验指导。
第3章汇编程序设计PPT教学课件

BIGE _THING DD ?;定义一个双字
+1 43H
BIG _ THING
56H
变量就代表低字节的 单元地址
2020/12/10
思考: MOV THING,13 的操作数寻址方式
14
定义数据表:
POWERS DB 1,2,4,8,16
ALL DB 0,0,0,0
ALL DB 4DUP(0)
类型 PTR 表达式 TW DW 23 MOV AL,BYTE PTR TW THIS:类型在THIS中指定,段地址和段内偏移量就是汇 编时的当前值。 EQU THIS 类型 MYDATA SEGMENT BB EQU THIS WORD BUFF DB 100 DUP(0) MYDATA ENDS
3.标号:某条指令所存放存储单元的符号地址,它 是转移指令或调用指令的目标操作数,属性 包 括 段值、偏移量和类型(NEAR,FAR)。
2020/12/10
NEAR—转移指令或调用指令与此标号所指的语句 或过程在同一段内,所以只需要改变IP。
FAR—转移指令或调用指令与此标号所指的语句 或过程不在同一段内,所以不但需要改变IP, 还要改变CS。
2020/12/10
11
3.3指示性语句
符号定义语句 数据定义语句 段定义语句 过程定义语句 结束语句
2020/12/10
12
3.3.1符号定义语句
1. 等值语句 EQU
符号名 EQU 表达式或常量或符号名
COUNT EQU CX
EQU语句在未解除前,不能重新定义
2. 等号语句 = 能对符号进行再定义。
第3章 汇编语言程序设计
3.1汇编语言的格式
3.2语句行的构成
汇编语言程序结构PPT课件

此例为计数循环
例: 将十进制数(number)转换为八进制数
方法:(number)/8 保留余数,除法操作循环次数事先未知,
仅当商为0时,循环结束。此例-为条件循环
n1e1 xt
(DX)= 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1. 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 (ROL DX,1 ) 0 0 0 0 0 0 0 1 (AND ?,1) 00000000 + 0 0 1 1 0 0 0 0 (ADD ?,30H) 00110000 2. 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 1 (ROL DX,1) 0 0 0 0 0 0 0 1 (AND) 00000001 + 0 0 1 1 0 0 0 0 (ADD)
LOOP AGAIN
DEC CX
- JNZ AGAIN
9
例: 求存放在STRS存储区中的字符串长度。
设: STRS
DB MOV MOV
string$ CX,80 SI,-1
MOV
AL,$
AGAIN: INC
SI
CMP
AL,STRS[SI]
LOOPNE AGAIN
MOV
LEN,SI
循环程序设计方法
保证循环正常执行和结束的条件:
正确地初始化循环控制计数和初始条件
❖ 正确地检测循环条件
必须保证能达到循环结束条件 (例如在循环体内有修改循环
控制值的指令)
-
8
指令系统提供了专门用于循环结构的循环控制指令,更加 简便的地实现循环结构。
循环控制指令 循环控制指令的转移范围为:-128~+127字节(段内短转移)
例: 将十进制数(number)转换为八进制数
方法:(number)/8 保留余数,除法操作循环次数事先未知,
仅当商为0时,循环结束。此例-为条件循环
n1e1 xt
(DX)= 0 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 1. 1 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 (ROL DX,1 ) 0 0 0 0 0 0 0 1 (AND ?,1) 00000000 + 0 0 1 1 0 0 0 0 (ADD ?,30H) 00110000 2. 0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 1 (ROL DX,1) 0 0 0 0 0 0 0 1 (AND) 00000001 + 0 0 1 1 0 0 0 0 (ADD)
LOOP AGAIN
DEC CX
- JNZ AGAIN
9
例: 求存放在STRS存储区中的字符串长度。
设: STRS
DB MOV MOV
string$ CX,80 SI,-1
MOV
AL,$
AGAIN: INC
SI
CMP
AL,STRS[SI]
LOOPNE AGAIN
MOV
LEN,SI
循环程序设计方法
保证循环正常执行和结束的条件:
正确地初始化循环控制计数和初始条件
❖ 正确地检测循环条件
必须保证能达到循环结束条件 (例如在循环体内有修改循环
控制值的指令)
-
8
指令系统提供了专门用于循环结构的循环控制指令,更加 简便的地实现循环结构。
循环控制指令 循环控制指令的转移范围为:-128~+127字节(段内短转移)
《顺序程序设计》课件

06
CATALOGUE
总结与展望
总结
内容回顾
简要概述PPT中涉及的核心知识 点,如顺序程序设计的概念、 基本结构、流程控制语句等。
重点解析
深入剖析PPT中的重点和难点, 解释其在实际编程中的重要性 和应用场景。
案例分析
通过具体案例展示如何运用顺 序程序设计解决实际问题,加 深理解。
常见问题解析
针对学生在学习过程中可能遇 到的常见问题进行解答,帮助
顺序程序设计的特点
简单易懂
结构清晰
顺序程序设计方法简单易懂,易于初学者 入门。
顺序程序设计的结构清晰,易于理解和维 护。
效率高
适用范围广
由于顺序程序是按照固定的顺序执行的, 因此其执行效率较高。
顺序程序设计适用于各种规模和类型的程 序,从简单的计算器程序到复杂的操作系 统都可以使用顺序程序设计方法。
系统软件设计
系统软件设计
顺序程序设计在系统软件设计中也有着广泛的应用,如操作系统、数据库管理系统、网络通信软件等。通过顺序 程序设计,可以按照软件设计的规范和要求,实现软件的各个模块和功能,保证软件的质量和稳定性。
应用软件设计
应用软件是指针对特定领域和特定需求的软件,如办公软件、图像处理软件等。通过顺序程序设计,可以设计出 高效、稳定、易用的应用软件,满足用户的需求和提升用户体验。
进步。
THANKS
感谢观看
在使用输入输出函数时,需要注意格式和数据的正确性,以避免出 现错误或异常情况。
03
CATALOGUE
顺序程序设计的控制结构
顺序结构
顺序结构是一种最基本的程序 流程控制结构,按照代码的先 后顺序执行,程序从上到下依 次执行。
第3章-汇编程序设计PPT课件

A<=5?
Y
N
(A-5)*2+R2 R2
R2 (41H)
结束
;存运费 M
-
18
3.4.2 多分支程序(散转程序)
有一类分支程序,它根据不同的输入条件或不同的运算 结果,转向不同的处理程序,称转程序的设计
这类程序通常利用JMP @A+DPTR间接转移指令实现转移。 有如下两种设计方法: 1. 查转移地址表:
GH+2 56 78
GH+4 00 08
8
4.保留字节 标号:DS (数值表达式)
作用: 指示在程序存储器中保留以标号为起始地址的若干字 节单元,其单元个数由数值表达式指定。
例如 L1:DS 32 ; 从L1地址开始保留32个存储单元。
5. 等值指令 标号 EQU(数值表达式)
表示EQU两边的量等值,用于为标号或标识符赋值。
例如: X1
EQU 2000H
X2
EQU 0FH
…
MAIN:
MOV DPTR,#X1 ; DPTR=2000H
ADD A,#X2 ; A=A+0FH
-
9
6. 位定义 标号 BIT [位地址] 作用: 同EQU指令,不过定义的是位操作地址。 例如 AIC BIT P1.1。
7. 汇编结束 END 作用: 指示源程序段结束。
MOV DPL,A
MOV DPH,B
;DPTR为表中地址
CLR A
;A=0
JMP @A+DPTR ;转移
TAB:DW PR0,PR1,PR2,…..,PRn ;转移地址表
END
-
TAB 01 10
TAB+2 02 20 ..
《汇编顺序结构程序》课件

02
ADD AX, [BX+2] ; 将内存 地址BX+2处的值加到AX寄存 器的值上
03
MOV [BX+4], AX ; 将AX的 值存储到内存地址BX+4处
复杂顺序结构程序实例
```
解释:这个程序从内存地址BX处加载一个值到AX寄
存器,将AX的值复制到CX寄存器,然后将内存地址
BX+2处的值加到AX寄存器的值上,最后将更新后的
汇编语言的特点
汇编语言具有高度的灵活性,可 以直接访问计算机硬件,执行效 率高,但编写难度较大。
汇编语言与高级语言的区别
指令系统
01
汇编语言指令直接对应计算机硬件操作,而高级语言指令需要
经过解释或编译才能执行。
编程范式
02
高级语言采用过程式或面向对象编程范式,而汇编语言更接近
于底层硬件操作。
执行效率
重要性
汇编语言顺序结构程序是计算机科学教育中的重要部分, 它帮助学生理解计算机如何处理指令、存储数据以及如何 进行内存管理。此外,这种结构在嵌入式系统、操作系统 设计和性能优化等领域也有广泛应用。
应用领域
汇编语言顺序结构程序不仅在学术研究中具有价值,在实 际应用中也有广泛的应用领域。例如,游戏开发、硬件设 计、网络安全和性能优化等领域都需要对汇编语言有深入 的理解。
总的来说,汇编语言顺序结构程序在 未来仍将保持其重要地位,尤其在需 要深入理解计算机底层原理的领域。 同时,随着技术的不断发展,汇编语 言也将会继续发展和演变,以适应新 的计算环境和编程需求。
感谢观看
THANKS
THE FIRST LESSON OF THE SCHOOL YEAR
单步执行
《顺序结构程序设计》PPT课件

❖段间转移(远转移):是在不同代码段之 间转移,不仅改变IP的值,也改变CS的值, 软中断和中断返回总是段间转移。
(1)段内直接短转移
格式:JMP SHORT OPR
功能:IP←IP+8位偏移量
其中OPR为一般标号,转移范围-128~127
例:
NEXT: MOV AX,CX
……
JMP NEXT
……
;DL=输出字符的ASCII码
❖注意XLAT的换码指令的操作
5.3 分支程序设计
5.3.1 转移指令
无条件转移指令 转移指令 有条件转移指令
1、无条件转移指令
功能是无条件转移到指定地址,执行从该地址
开始的指令。根据转移时是否重置CS的内容,
无条件转移指令
段内转移 段间转移
❖段内转移(近转移):转移时只改变IP寄 存器的内容,CS的值保持不变,条件转移和 循环指令只能实现段内转移。
START:MOV AX,DATA
MOV
DS,AX
MOV
AL,AD1
ADD
AL,AD2
MOV
SUM,AL
MOV
AH,4CH
INT
21
H
;返回DOS
CODE ENDS
例5-2 两个32位数的乘法程序。源程序如下: DATA SEGMENT
NUM1
DD 12345678H
NUM2
DD 5A4BEF06H
RESU
DD 2 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV EAX,NUM1
(1)段内直接短转移
格式:JMP SHORT OPR
功能:IP←IP+8位偏移量
其中OPR为一般标号,转移范围-128~127
例:
NEXT: MOV AX,CX
……
JMP NEXT
……
;DL=输出字符的ASCII码
❖注意XLAT的换码指令的操作
5.3 分支程序设计
5.3.1 转移指令
无条件转移指令 转移指令 有条件转移指令
1、无条件转移指令
功能是无条件转移到指定地址,执行从该地址
开始的指令。根据转移时是否重置CS的内容,
无条件转移指令
段内转移 段间转移
❖段内转移(近转移):转移时只改变IP寄 存器的内容,CS的值保持不变,条件转移和 循环指令只能实现段内转移。
START:MOV AX,DATA
MOV
DS,AX
MOV
AL,AD1
ADD
AL,AD2
MOV
SUM,AL
MOV
AH,4CH
INT
21
H
;返回DOS
CODE ENDS
例5-2 两个32位数的乘法程序。源程序如下: DATA SEGMENT
NUM1
DD 12345678H
NUM2
DD 5A4BEF06H
RESU
DD 2 DUP(?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:MOV AX,DATA
MOV DS,AX
MOV EAX,NUM1
第03章顺序结构程序设计PPT课件

第三章 3.1 C语句概述
例3-1:
程序运行结果
a=11 b=21 c=31
#include "stdio.h" void main()
a=11 b=22 c=3.300000 a=22 b=21 c=31
{int a=11,b=21,c=31;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
(2)为了完成某项任务,而不是为了得到返 回值。
调用这类函数时,就直接用函数调用语句。 例: scanf("%f",&x);
printf("%f",x);
第三章 3.1 C语句概述
3.1.2 复合语句
一对大括号{ }包围若干条语句组成。 格式:
{[ 数据说明部分;] 执行语句部分;
}
注意:
(1) 在复合语句中的“内部数据描述语句”中定义的变量,是 局部变量, 仅在复合语句中有效。 (2) 复合语句结束的“ } ”之后,不需要分号。 (3) 复合语句可以出现在任何数据操作语句可以出现的地方。
3.2.3 循环结构
1. 当型循环结构
当条件成立(为“真”或 非0)时,反复执行程序 段Aபைடு நூலகம்否则不执行程序段 A。
假 条件 (0) 真(非
0) A
第三章 3.2 程序的三种基本结构
2. 直到型循环结构
先执行程序段A,再判断 条件是否为“真”(非0 );若为“真”(非0) ,再执行A,如此反复, 直到条件为“假”(0) 为止。
C语言的语句分类:
简单语句
表达式语句(表达式;) 函数调用语句(函数名(参数表);
C语言 数据操作 语句
例3-1:
程序运行结果
a=11 b=21 c=31
#include "stdio.h" void main()
a=11 b=22 c=3.300000 a=22 b=21 c=31
{int a=11,b=21,c=31;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
(2)为了完成某项任务,而不是为了得到返 回值。
调用这类函数时,就直接用函数调用语句。 例: scanf("%f",&x);
printf("%f",x);
第三章 3.1 C语句概述
3.1.2 复合语句
一对大括号{ }包围若干条语句组成。 格式:
{[ 数据说明部分;] 执行语句部分;
}
注意:
(1) 在复合语句中的“内部数据描述语句”中定义的变量,是 局部变量, 仅在复合语句中有效。 (2) 复合语句结束的“ } ”之后,不需要分号。 (3) 复合语句可以出现在任何数据操作语句可以出现的地方。
3.2.3 循环结构
1. 当型循环结构
当条件成立(为“真”或 非0)时,反复执行程序 段Aபைடு நூலகம்否则不执行程序段 A。
假 条件 (0) 真(非
0) A
第三章 3.2 程序的三种基本结构
2. 直到型循环结构
先执行程序段A,再判断 条件是否为“真”(非0 );若为“真”(非0) ,再执行A,如此反复, 直到条件为“假”(0) 为止。
C语言的语句分类:
简单语句
表达式语句(表达式;) 函数调用语句(函数名(参数表);
C语言 数据操作 语句
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CSEG SEGMENT
ASSUME
CS:CSEG,DS:DSEG
ASSUME
SS:SSEG
DISC:
MOV AX,DSEGMOV DS,AX来自MOV AX,SSEG
MOV SS,AX
第03章-汇编语言程序设计1-顺序结构程序设计
开始
设置数据段地址 设置堆栈段地址 设置堆栈指针
取数据 截取高4位
右移4位 保存高位16进制数
则该操作可分以下几步完成: 最低字节取补; 进位取反; 中间字节取反的结果加进位; 高字节取反的结果加进位。
第03章-汇编语言程序设计1-顺序结构程序设计
开始
SSEG STK SSEG
SEGMENT
STACK
DB
20 DUP(0)
ENDS
设置数据段地址 设置堆栈段地址
设置堆栈指针
DSEG SEGMENT
第03章-汇编语言程序设计1-顺序结构程序设计
保存结果
MOV
SS,AX
结束
第03章-汇编语言程序设计1-顺序结构程序设计
•
MOV
SP,SIZE STK
•
MOV AL,DATA1
•
MOV AH,DATA1+1
•
MOV BL,DATA1+2
•
NEG AL
•
CMC
•
NOT AH
•
ADC AH,0
•
NOT BL
•
ADC BL,0
•
MOV DATA2,AL
第03章-汇编语言程序设计1-顺序结构程序设计
例1:代m码ov段dl,a(l 续;入)口参数:DL←AL
mov ah,2 ;02号DOS功能调用 int 21h ;显示一个ASCII码字符 mov al,hex+1 ;转换并显示下一个数据 and al,0fh xlat mov dl,al mov ah,2 int 21h
取原数据 截取低4位 保存低位16进制数
结束
•
MOV SP,SIZE STK
•
MOV AL,DATA
•
MOV AH,AL
•
AND AL,0F0H
•
MOV CL,04
•
SHR AL,CL
•
MOV HEX,AL
•
AND AH,0FH
•
MOV HEX+1,AH
•
MOV AX,4C00H
•
INT 21H
第03章-汇编语言程序设计1-顺序结构程序设计
H
H
H
H
L
L
L
L
0 0 0 0 HHHH 0 0 0 0LLLL
HEX HEX+1
第03章-汇编语言程序设计1-顺序结构程序设计
SSEG SEGMENT
STACK
STK DB 20 DUP(0)
SSEG ENDS
DSEG SEGMENT
DATA
DB 0B5H
HEX
DB 2 DUP(0)
DSEG ENDS
hex db 04h,0bh ;假设两个数据
第03章-汇编语言程序设计1-顺序结构程序设计
例1:代码;代段码段
mov bx,offset ASCII ;BX指向ASCII码表 mov al,hex ;AL取得一位16进制数 ;恰好就是ASCII码表中的位移 and al,0fh ;只有低4位是有效的,高4位清0 xlat ;换码:AL←DS:[BX+AL]
参考资料
第03章-汇编语言程序设计1-顺序结构程序设计
简化• 段定.mo义del的sm源all 程序;小格型模式式存储模式
• .stack ; 1KB空间堆栈段 • .data ;数据段 • …… ;数据定义 • .code ;代码段 • start: mov ax,@data ;起始点 • mov ds,ax ;设置DS • …… ;程序代码 • mov ax,4c00h • int 21h ;结束点,返回DOS • …… ;子程序代码 • end start ;汇编结束
顺序结构程序设计
第03章-汇编语言程序设计1-顺序结构程序设计
汇编语言的特点
• 汇编语言是一种以处理器指令系统为基础的低级程序设计语言, 它采用助记符表达指令操作码,采用标识符号表示指令操作数
• 利用汇编语言编写程序的主要优点是可以直接、有效地控制计算 机硬件,因而容易创建代码序列短小、运行快速的可执行程序
第03章-汇编语言程序设计1-顺序结构程序设计
顺序结构程序举例
• 例2、计算y=-x。设x为三个字节长的数据,存于 DATA1开始的单元。结果存入DATA2开始的单元。
分析:数以补码存储,已知[x]补,求[-x]补,对三字节数据无法直接运用求补指令NEG, 可应用对原数据包括符号位在内取反加1的办法。 又知使用NEG指令对一个字节数据取补时,若数据非0,则CF=1
• 在有些应用领域,汇编语言的作用是不容置疑和无可替代的 • 汇编程序设计的过程与其他高级语言程序设计大致相同
第03章-汇编语言程序设计1-顺序结构程序设计
顺序程• 没序有分设支计、循环等转移指令的程序,会按指令书
写的前后顺利依次执行,这就是顺序程序 • 顺序结构是最基本的程序结构 • 完全采用顺序结构编写的程序并不多见
例题1:顺序程序设计实例 采用查表法,实现一位16进制数 转换为ASCII码显示
第03章-汇编语言程序设计1-顺序结构程序设计
例1;:数据数段据段
ASCII db 30h,31h,32h,33h,34h,35h,36h,37h,38h,39h ;对应0 ~ 9的ASCII码 db 41h,42h,43h,44h,45h,46h ;对应A ~ F的ASCII码
•
MOV DATA2+1,AH
•
MOV DATA2+2,BL
•
MOV 第A03X章,4-汇C编0语0言H程序设计1-顺序结构程序设计
• [例3]设内存DATA单元存放一个无符号字节数据,编 制程序将其拆成两位16进制数,并存入HEX和HEX+1 单元的低4位,HEX存放高位16进制数,HEX+1单元 存放低位16进制数。
DATA1
DB
DATA2
DB
35H,26H,03H 3 DUP(0)
低字节取补 进位取反
DSEG ENDS
中间字节取反
CSEG SEGMENT
ASSUME
CS:CSEG,DS:DSEG
加进位
ASSUME
SS:SSEG
高字节取反
MBNEG: MOV
MOV AX,DSEG DS,AX
加进位
MOV AX,SSEG