汇编语言程序调试的过程
“汇编语言程序调试的过程”相关的资料有哪些?“汇编语言程序调试的过程”相关的范文有哪些?怎么写?下面是小编为您精心整理的“汇编语言程序调试的过程”相关范文大全或资料大全,欢迎大家分享。
实验一、汇编语言程序的上机过程及调试
汇编 程序 调试 过程
实验一、汇编语言程序的上机 过程及调试
汇编 程序 调试 过程
一、实验目的 熟练掌握汇编语言上机汇编、连接和装入 运行。 学会使用调试程序DEBUG或TD来进行程序 调试。
汇编 程序 调试 过程
二、实验内容 (一)汇编程序建立过程a.建立汇编源程序─通过
b.编译为目标文件
d.连接为可执行文件
c.不通过,重新修改(语句错误)
f.不正确,用调试工具调试,重新修改(逻辑错误)
e运行正确
g.完成
汇编 程序 调试 过程
汇编语言的源程序需要编译和连接 后才能在计算机上执行。 汇编语言源程序扩展名规定为.ASM。 用MASM编译源程序后,将产生源程序的 目标程序文件,其扩展名为.OBJ。 再经过连接程序(LINK)把目标程序文件与库 文件或其他目标文件连接在一起形成可执 行文件(扩展名为.EXE)。 这时就可以运行该程序了。DOS下可直接 键入可执行程序的文件名从而运行该程序。
汇编 程序 调试 过程
(二)过程详细说明 步骤 a: 建立汇编源程序 如果现在的根目录不是E盘,写入E :然后回车, 再打入cd *** (***是你新建的文件夹名),例如 电气031班的同学,现在你的DOS界面根目
汇编语言程序上机调试
2.1 汇编语言程序上机调试
汇编语言的学习离不开上机实验。汇编语言程序上机操作包括四个步骤:编辑、汇编、连接、调试运行4个过程,如图 错误!文档中没有指定样式的文字。-1所示。
文本编辑器,如 EDIT 编辑源程序:文件名.asm 汇编程序,如 MASM.EXE 目标模块:文件名.obj 连接程序,如 LINK.EXE 可执行文件:文件名.exe 调试程序,如 DEBUG.EXE 调试应用程序 图 错误!文档中没有指定样式的文字。-1 汇编语言程序上机调试过程
常用的汇编器有MASM(Marco Assembler,宏汇编)和TASM(Turbo Assembler),连接器有LINK和TLINK,调试器有DEBUG和TD(Turbo Debugger)。MASM、LINK和DEBUG由Microsoft 公司出品, TASM、 TLINK和TD由Borland公司出品。本书以Microsoft公司的汇编工具包为例,介绍汇编语言程序的上机调试过程。
注:在学习本节内容时,将重点放在程序调试过程和方法上,暂时不需要去探求实例的程序代码及各条指令的含义。相关内容在后续章节会详细介绍。
错误 汇编 错误 连接 错误 错误 2.1.1 简单汇
汇编语言程序题
例1:设内存单元DATA存放一字节无符号数,编程将其拆成两位十六进制数,并存入HEX、HEX+1的低四位。HEX单元存放低位十六进制数,HEX+1单元存放高位十六进制数。 思路:屏蔽,移位 DSEG SEGMENT DATA DB 8AH HEX DB 0,0 DSEG ENDS
sseg segment stack db 100 dup(0) sseg ends CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG,ss:sseg START:MOV AX,DSEG MOV DS,AX MOV AL,DATA MOV AH,AL
AND AL,0FH
MOV HEX,AL AND AH,0F0H MOV CL,4 SHR AH,CL MOV HEX+1,AH mov ah,4ch int 21h CSEG ENDS
END START
例3:利用查表的方法将1位十六进制数转换成它对应的ASCII码。 思路:查表代替数据运算 DSEG SEGME
汇编语言程序题
例1:设内存单元DATA存放一字节无符号数,编程将其拆成两位十六进制数,并存入HEX、HEX+1的低四位。HEX单元存放低位十六进制数,HEX+1单元存放高位十六进制数。 思路:屏蔽,移位 DSEG SEGMENT DATA DB 8AH HEX DB 0,0 DSEG ENDS
sseg segment stack db 100 dup(0) sseg ends CSEG SEGMENT
ASSUME CS:CSEG,DS:DSEG,ss:sseg START:MOV AX,DSEG MOV DS,AX MOV AL,DATA MOV AH,AL
AND AL,0FH
MOV HEX,AL AND AH,0F0H MOV CL,4 SHR AH,CL MOV HEX+1,AH mov ah,4ch int 21h CSEG ENDS
END START
例3:利用查表的方法将1位十六进制数转换成它对应的ASCII码。 思路:查表代替数据运算 DSEG SEGME
汇编语言程序格式
汇编语言程序格式
【思考】
(1) 建立并运行一个汇编语言程序有几个操作步骤? (2) 指令和伪指令的区别是什么?
(3) 在汇编语言程序中,段定义伪指令和数据定义伪指令起什么作用? (4) 变量和标号的类型属性分别有哪几种?
(5) 什么是表达式?表达式的优先级顺序是如何排列的? (6) 汇编语言的上机过程是什么?
(7) 汇编语言源程序一般由几个段组成?
(8) 汇编程序和连接程序的输入、输出文件有哪些?它们的作用是什么? 【学习目标】
了解编辑程序、汇编程序、连接程序的功能及其输入、输出文件的类型; 了解汇编语言源程序的格式;
熟练掌握并运用段定义伪指令和数据定义及存储器分配伪指令;
熟悉数值表达式的书写规范;上机编程时学会使用DEBUG调试程序。 【学习指南】
介绍了汇编语言程序的完整段和简化段格式。在学习本内容时,可利用汇编语言程序的框架,通过上机来验证和理解各种指令和伪指令的格式、功能及作用。 【难重点】
段定义伪指令、数据定义及存储器分配伪指令及其它伪指令; 数据类型属性和代码属性及其在编程中的应用; 数值表达式的表示及其应用。 【知识点】
1 汇编程序功能
汇编语言程序实例
汇编语言程序实例
汇编语言程序实例 第一份:用汇编语言对4位10进制数加密。密码是0123456789对应为9082746315。 DATA SEGMENT
TABLE DB 39H,30H,38H,32H,37H,34H,36H,33H,31H,35H;密码表
RESULT DB 4 DUP(?);四位十进制数对应的密码
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
MAIN PROC FAR
MOV AX,DATA
MOV DS,AX
MOV ES,AX
LEA BX,TABLE
LEA DI,RESULT
MOV AX,1234;已知的四位十进制数,以下分别求四位十进制数位,并将密码存入RESULT中
MOV SI,1000
CALL NUMBER
MOV SI,100
CALL NUMBER
MOV SI,10
CALL NUMBER
MOV SI,1
CALL NUMBER
LEA DI,RESULT;在屏幕上依次显示四位加密后的十进制数
MOV CX,4
NEXT:
MOV DL,[DI]
MOV AH,2H
INT 21H
INC DI
LOOP NEXT
;按任意键退出
mov ah,1
int 21h
MOV AX,4C00H
INT 21H
MA
汇编语言程序实例
汇编语言程序实例
汇编语言程序实例 第一份:用汇编语言对4位10进制数加密。密码是0123456789对应为9082746315。 DATA SEGMENT
TABLE DB 39H,30H,38H,32H,37H,34H,36H,33H,31H,35H;密码表
RESULT DB 4 DUP(?);四位十进制数对应的密码
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
MAIN PROC FAR
MOV AX,DATA
MOV DS,AX
MOV ES,AX
LEA BX,TABLE
LEA DI,RESULT
MOV AX,1234;已知的四位十进制数,以下分别求四位十进制数位,并将密码存入RESULT中
MOV SI,1000
CALL NUMBER
MOV SI,100
CALL NUMBER
MOV SI,10
CALL NUMBER
MOV SI,1
CALL NUMBER
LEA DI,RESULT;在屏幕上依次显示四位加密后的十进制数
MOV CX,4
NEXT:
MOV DL,[DI]
MOV AH,2H
INT 21H
INC DI
LOOP NEXT
;按任意键退出
mov ah,1
int 21h
MOV AX,4C00H
INT 21H
MA
汇编语言程序实例
汇编语言程序实例
汇编语言程序实例 第一份:用汇编语言对4位10进制数加密。密码是0123456789对应为9082746315。 DATA SEGMENT
TABLE DB 39H,30H,38H,32H,37H,34H,36H,33H,31H,35H;密码表
RESULT DB 4 DUP(?);四位十进制数对应的密码
DATA ENDS
CODE SEGMENT
ASSUME DS:DATA,CS:CODE
MAIN PROC FAR
MOV AX,DATA
MOV DS,AX
MOV ES,AX
LEA BX,TABLE
LEA DI,RESULT
MOV AX,1234;已知的四位十进制数,以下分别求四位十进制数位,并将密码存入RESULT中
MOV SI,1000
CALL NUMBER
MOV SI,100
CALL NUMBER
MOV SI,10
CALL NUMBER
MOV SI,1
CALL NUMBER
LEA DI,RESULT;在屏幕上依次显示四位加密后的十进制数
MOV CX,4
NEXT:
MOV DL,[DI]
MOV AH,2H
INT 21H
INC DI
LOOP NEXT
;按任意键退出
mov ah,1
int 21h
MOV AX,4C00H
INT 21H
MA
汇编语言程序设计
汇编语言程序设计
汇编语言程序设计
伪指令 MCS-51程序设计举例
汇编语言程序设计
一
汇编程序的伪指令
(真)指令:告诉计算机如何操作以及做何种操作 伪指令:伪指令不进行具体的操作,亦即它不像 机器指令那样是在程序运行期间由计算机来执行 的,而是在汇编程序对源程序汇编期间由汇编程 序处理的操作。 伪指令仅在汇编过程中起控制作用不产生可执行 目标代码,又称为软指令
汇编语言程序设计
1、起点指令 ORG
格式: ORG ××××H
首地址
ASM51程序中一定要写!
首地址
功能:
用法:
给程序起始地址或数据块的起始地址赋值 一般出现在每段源程序或数据块的开始
一个源程序可多次出现ORG指令 ORG 8000H ;源程序的起始地址 例: START:MOV A,#74H 为8000H
┇
汇编语言程序设计
2、结束命令 END 格式:END
ASM51程序中一定要写!
功能:汇编程序结束标志 用法: 附在一个源程序的结尾 一个源程序只能出现一次END指令 3、定义字节命令 DB 格式: 标号:DB
项或项表
字节常数或字符串 (8位)
功能:
从指定的地址单元开始,定义若干个8位
内存单元的数据。汇编程序把DB定义的
字节数据依次存入标号开始的存储单元
有定义的内存单元地址
汇编语言程
汇编语言小程序例子
1.编写统计AX中1、0个数的源程序。1的个数存入CH,0的个数存入CL。
CODE SEGMENT
ASSUME CS:CODE
START: MOV CX, 0
MOV DX,17
AA1: SUB DX, 1
JZ AA3
SHL AX, 1
JNC AA2
INC CH
JMP AA1
AA2: INC CL
JMP AA1
AA3: MOV AH,4CH
INT 21H
CODE ENDS
END START
2.编写比较两个字符串STRING1和STRING2所含字符是否完全相同的源程序,若相同则显示“MATCH”,若不相同则显示“NO MATCH”。
程序:
DATA SEGMENT
R1 DB 'MATCH',0AH,0DH
R2 DB 'NO MATCH',0AH,0DH
STRING1 DB 'XXXXX'
N1 EQU $-STRING1
STRING2 DB 'YYYYY'