编译一个扩展文件名为ASM的汇编语言源程序
MASMplus使用说明
1、解压缩idesetup.rar
2、运行idesetup.exe安装软件
3、进行系统配置
3.1打开“配置”菜单,单击系统配置,如下图所示:
3.2在弹出的“系统配置”对话框中选择“编译/脚本”属性页,选中“单独文件默认使用DOS模式”选项,如下图所示,然后单击“确定”按钮,保存配置。
3.3打开“配置”菜单,单击系统配置,如下图所示:
3.2在弹出的“系统配置”对话框中选择“工具”属性页,进行如下操作
✓在“工具路径”栏中输入“C:\WINDOWS\system32\debug.exe”;
✓在“运行参数”栏中输入“$(FileDir)\$(FileName).$(OutExt)”;
✓单击“确定”按钮,保存配置
4 使用
4.1 新建一个asm源程序,打开“文件”菜单,选择新建
选择“文件”属性页,选择文件类型“ASM”,单击“确定”。
选择文件保存路径及输入文件名,单击“确定”
4.2 编辑汇编语言源程序
4.3 编辑完成后,打开“编译”菜单,点击“编译(ASM)”进行汇编
4.4 编译完成后,打开“编译”菜单,点击“连接(OBJ)”生成可执行文件
4.5 编译完成后,打开“编译”菜单,点击“运行(R)”运行程序,或单击“我的工具”按钮调用debug对程序进行调试,见以下两图。
实验一 熟悉汇编语言使用环境
实验一熟悉汇编语言使用环境一、实验目的:1、熟悉汇编语言的编辑、汇编、连接、运行的全过程。
2、了解汇编语言的程序结构、学习调用过程实现输入输出及用INCLUDE命令包含文件的方法。
3、算术运算类操作二、实验内容和步骤:1、汇编语言源程序要运行的四个步骤:(1)用编辑软件EDIT或记事本编辑一个扩展文件名为ASM的汇编语言源程序。
(2)用汇编程序MASM或TASM 汇编上述的汇编语言源程序,形成目标代码文件。
(扩展名为OBJ)(3)用连接程序LINK 或TLINK连接目标代码文件,形成可执行文件。
(扩展名为EXE)(4)运行可执行文件。
观察执行结果,以验证其正确性。
2、从键盘上输入两个十进制数正数(<32767),相加并显示结果。
参考程序:.model tiny.stack 256.CODESTART:CALL read ;从键盘接受一个十进制数MOV AX,BXcall dpcrlfCALL read ;从键盘接受一个十进制数ADD bx,aXcall dpcrlf ;回车换行CALL write ;显示结果.exit 0INCLUDE out_B_D.ASM ;把二进制转换为十进制数输出过程:write INCLUDE in_D_B.ASM ;把二进制转换为十进制数输入过程:readEND START3. 改写程序为输入两个十进制数,相减并显示输出。
4.改写程序为输入两个十进制数,相乘并显示输出。
5.改写程序为输入两个十进制数,相除并显示输出。
(注:例4.27read:十进制—>二进制转换过程,出口参数BX=二进制数;例P4.28,write:二进制—>十进制转换过程,入口参数BX=二进制数, dpcrlf:回车换行)三、记录结果与分析:(截图并打印在实验报告上)四、实验中遇到的问题和解决的步骤、方法五、问题与思考(2位压缩BCD加、减及转换成对应ASC输出等运算、字节的非压缩BCD加、减、乘等运算。
32位汇编语言程序设计部分课后习题答案
3.1 简答题-1
(1)如何修改“MOV ESI, WORD PTR 250”语句使其 正确?
• 删除“WORD PTR”即可
(2)为什么说“XCHG EDX,CX”是一条错误的指令?
32位汇编语言习题解答
课件制作: 钱晓捷
钱晓捷,32位汇编语言程序设计,机械工业出版社
第1章习题:汇编语言基础
1.1 简答题(1、3、6、7、8) 1.2 判断题(1、6、7、8、9) 1.3 填空题(3、4、5、7、10) 1.9、1.13、1.15、1.16
1.1 简答题-1
(1)哪个处理器的指令系统成为Intel
• 没有
(8)汇编语言的标识符大小写不敏感意味着什么?
• 表示字母大小写不同、但表示同一个符号
4
习题解答
1.2 判断题
1)EAX也被称为累加器,因为它使用最频繁。
• 对,EAX中的A来自英文累加器(Accumulator)
6)处理器的传送指令MOV属于汇编语言的执行性语句
•对
7)汇编语言的语句由明显的4部分组成,不需要分隔 符区别。
13,10
byte
'---+-------------------------------',
13,10
byte '20 |',20h,20h,21h,20h,22h,20h,23h,20h,
24h,20h,25h,20h,26h,20h,27h,20h,28h,20h,29h,20h
byte 2ah,20h,2bh,20h,2ch,20h,2dh,20h,2eh,20h,
• 寄存器寻址,立即数寻址
(9)已知ESI=04000H,EBX=20H,指令“MOV EAX, [ESI+EBX*2+8]”中访问的有效地址是__________。
汇编语言期末试卷A卷及答案
汇编语⾔期末试卷A卷及答案浙江理⼯⼤学2011—2012学年第 1 学期《汇编语⾔A》期末试卷(A)卷班级:学号:姓名:⼀、单项选择题(在每⼩题的四个备选答案中,选择⼀个正确答案填在提⼲后的括号内,每⼩题2分,共30分)1.下⾯表⽰段定义结束的命令是( )A. ENDPB. ENDSC. ENDMD. END2.8086CPU在基址变址寻址⽅式中,基址寄存器可以是( )A. AX或CXB. BX或BPC. SI或BXD. DX或DI3.执⾏CALL FAR PTR SUB1指令后,在堆栈区域中应( )A.压⼊4个字节的内容B.弹出4个字节的内容C.压⼊2个字节的内容D.弹出2个字节的内容4.完成将累加器AL清零,并使进位标志CF清零, 下⾯错误的指令是( )A. MOV AL, 00HB. AND AL, 00HC. XOR AL, ALD. SUB AL, AL5.完成同指令XCHG AX,BX相同功能的指令或指令序列是( )A.MOV AX, BXB. PUSH AX POP BXC. MOV BX, AXD. MOV CX, AX MOV AX, BX MOV CX, AX6.⼗进制数- 115⽤16位补码表⽰是()A.F115H B.F073HC.FF8DH D.FF73H7.指令指针寄存器是()A. IPB. SPC. BPD. PSW8.指令JMP WORD PTR [BX][SI]属于()A..寄存器间接寻址B.相对基址变址寻址C.段内间接寻址D.段间间接寻址9.下列传送指令中有语法错误的是( )A. MOV CS, AXB. MOV DS, AXC. MOV SS, AXD. MOV ES, AX10.执⾏下列程序,设(SS)=2000H,AL中的数据在内存地址___________中( )MOV SP, 3000HMOV AX, 1234HPUSH AX┅A. 23000HB. 22FFCHC. 22FFEHD. 22FFFH11.逻辑移位指令SHR⽤于A. 带符号数乘 2B. 带符号数除 2C. ⽆符号数乘 2D. ⽆符号数除 212.若⽤数据定义伪指令定义数据:BUF DB 4 DUP(0,2 DUP(1,0)), 问:定义后,存储单元中有数据0100H的字单元个数是( )A. 4B. 3C. 8D. 1213.执⾏下列指令后:( )STR1 DW ‘AB’STR2 DB 14 DUP(?)CNT EQU $ - STR1MOV CX,CNTMOV AX,STR1则寄存器CL的值是A. 10HB. 12HC. 0EHD. 0FH14.上题中,指令执⾏后,寄存器AX的值是( )A. 00ABHB. 00BAHC. 4142HD. 4241H15.与MOV BX,OFFSET V AR指令完全等效的指令( )A. MOV BX, V ARB. LDS BX, V ARC. LEA BX, VARD. LES BX, V AR⼆、简答题(每⼩题4分,共20分)1. 简述汇编语⾔的上机过程2.在指令系统中,段内、段间返回均为RET指令。
汇编语言的上机过程(基于MASM 6.15)
(上机第一步)EDIT,是编辑程序,像一个文本编辑器,用来编辑汇编语言源程序,编辑好的程序扩展名为*.asm;(第二步)MASM,是汇编程序,用来把*.asm程序编译成二进制代码,该二进制代码文件称为目标程序,扩展名为*.obj;(第三步)LINK,是链接程序,用来把*.obj文件变成可执行目标代码,即可执行文件*.exe;在第二步和第三步中,可以发现程序语法上的错误;(第四步)DEBUG是调试工具,用于发现程序逻辑上的错误。
汇编语言的上机过程(基于MASM 6.15)汇编语言的一般上机过程:1.建立ASM文件 2.产生OBJ文件 3.产生EXE 文件4.程序的调试和执行MASM 6.15包含文件:***************************************************M ASM.EXE 汇编器E DOS下的文本编辑器E DIT.HLP EDIT帮助文件L IB.EXE 过程库管理程序L INK.EXE 连接器D OSXNT.EXEm l.err 汇编的错误信息文件m l.exe(masm and link)汇编连接器***************************************************D EBUG.EXE 调试器(一般是系统自带)***************************************************对于MASM 6.10以下的版本,汇编器和连接器是分开的,分别是MASM.EXE 和LINK.EXE,使用时要先用MASM.EXE生成.OBJ文件,再使用LINK.EXE生成.EXE文件。
ml.exe把MASM.EXE和LINK.EXE整合到一起,可以一步生成.EXE 文件。
ml命令有许多参数,可以使用ml /?命令查看。
下面介绍几个低级实用的参数:/AT Enable tiny model (.COM file)/c Assemble without linking 只汇编不连接/Fe<file> Name executable 指定.EXE文件名/Fl[file] Generate listing 生成列表文件(.LST)/Fm[file] Generate map 生成映像文件(.MAP)/Fo<file> Name object file 指定.OBJ文件名/I<name> Add include path 指定include文件的路径名两种开发环境:1.32位Windows控制台(CMD.EXE)①解压缩MASM6.15.ZIP到D:\②开始-程序-附件-命令提示符-右键-发送到桌面快捷方式③修改桌面命令提示符属性:目标:%SystemRoot%\system32\cmd.exe起始位置:D:\MASM④双击命令提示符图标即可进入基于32位Windows控制台下的汇编程序环境。
汇编语言模拟题答案-(3)
第3章自测练习一、选择题(四选一)1.表示一条处理器指令所在存储单元的符号地址是 C。
A变量 B常量 C标号 D偏移量2.汇编语言中的变量有多种类型属性,但错误的类型是B 。
A字节型byte B字符型charC字型word D双字型dword3.执行mov bx,seg var指令,BX得到变量var的B 。
A物理地址 B段地址 C偏移地址 D内容4.MASM语句中,采用C 分隔标号和指令。
A逗号 B分号 C冒号 D空格5.欲设定从偏移地址100H开始安排程序,可使用A 伪指令。
Aorg 100h Bstart=100hCstart db 100h Dstart equ 100h6.与“mov bx,offset var”指令等效的指令是 D 。
A movbx,varB 1dsbx,varCles bx,var D1ea bx,var.7.下条语句buf db l0 dup(3 dup(?,10),3,10)汇编后,变量buf占有的存储单元字节数是B 。
A 100B 80C 40D 208.数据定义语句“numl dw(12 or 6 and 2) ge 0eh”,定义的num1单元的内容是 B。
A 0B 0FFFFHC 1D 0FFH9.要求将A、B两个字符的ASCII码41H和42H顺序存放在连续两个字节存储单元中,可选用的语句是 A 。
A db`AB'B dw `AB'C db 0ABHD dw 0ABH10.在汇编语言程序中,对END语句叙述正确的是C 。
AEND语句是一可执行语句BEND语句表示程序执行到此结束CEND语句表示源程序到此结束DEND语句在汇编后要产生机器码11.下面的数据传送指令中,错误的操作是D。
Amov ss:[bx+di],byte ptr 10h Bmov dx,l000hCmov word ptr[bx],1000h Dmov ds,2000h12.下面指令执行后,变量dab中的内容是C 。
汇编语言程序的上机过程
汇编语言程序的上机过程
1.建立源程序
用记事本写写代码,把扩展名改为.asm,存入masm文件夹中,保存类型改为“所有文件”,否则系统默认为.txt文件保存。
2.用MASM程序编译源文件,产生目标文件。
1)先进入C:\MASM>中
2)输入“masm MM”即masm 文件名(扩展名可以省略)
3)画蓝线的部分表示有0个警告和0个致命的错误,表示编译通过了。
3
目标文件查看:
3.用Link程序连接目标文件,产生可执行程序
输入“LINK 文件名.obj(扩展名可以省)”eg: LINK MM.OBJ
通过连接产生MM.exe文件,在命令符窗口输入dir命令查看。
4.直接输入文件名查看输出内容。
5.用debug程序调试与运行可执行文件
输入debug命令,屏幕显示:
-
“-”号表示debug系统提示符,
1)用u命令反汇编该文件,屏幕显示如下:
2)用d命令了解数据存储
格式为:
d 数据段地址:0
3)用g命令执行该程序
格式为
g=程序的首地址:0
表示程序正常终止,文件中的文件显示出来。
3)用r显示寄存器内容命令
这里的cs和IP显示了当前指向的指令及其代码,即即将执行的下一条语句。
汇编语言教程
5.1.3 伪指令语句
3. 段定义伪指令
格式:
段名 SEGMENT
…… 段名 ENDS
段定义时,必须将段和段寄存器自之间建立相应关系,能够用 ASSUME伪操作来实现,其格式为:
ASSUME 段寄存器名:段名1[,段名2……]
教学进程
5.1.3 伪指令语句
段定义伪指令举例
例: * * * * * * * * * * * * * * * * * * * * * * *
教学进程
5. 属性操作符
5.1.2 汇编语言语句
● SHORT操作符 格式:SHORT 标号 功能:用来修饰转移指令旳目旳地址旳属性,偏移量为8位。
● 分类运算符 格式:HIGH 体现式 LOW 体现式 功能:从体现式种分离出高字节、低字节。
6. 关系运算符
运算符: EQ(相等)、NE(不等于)、LT(不不小于)、GT(不小 于)、
5.1 8086汇编语言基础
● 汇编语言旳处理过程: (1)编写汇编语言源程序,生成扩展名为ASM旳汇编源源文件。 (2)对汇编源程序进行编译。 (3)对目旳文件进行连接 。
教学进程
5.1 8086汇编语言基础
● 汇编语言进行程序设计旳优点 1)充分利用机器旳硬件功能和构造特点,加紧程序旳执行速度,
LE(不不小于或等于)、GE(不小于或等于),当关系成 立时,
运算成果为1(FFH或FFFFH),不然为0。
格式:体现式1 关系运算符 体现式2
教学进程
汇编语言语句 7.运算旳优先级别
优先级 高
低
运算符(操作符) 括号中旳体现式 LENGTH,SIZE,WIDTH,MASK PRT,OFFSET,SEG,TYPE,THIS,段前缀 HIGH,LOW *,/,MOD,SHL,SHR +,EQ,NE,LT,TE,GT,GE NOT OR,XOR SHORT
单片机原理实验指导书
实验一仿真软件的使用,简单程序设计一.实验目的:1.掌握单片机仿真软件的基本操作方法;2.熟悉汇编语言源程序的编辑、汇编、运行和检查运行结果的方法(能查看各存储空间中值的变化);3.掌握简单程序编写的基本方法和技巧;二.实验内容:1. 将内部RAM的30H—33H四个存储单元內分别存放01H、02H、03H、04H 四个数;然后送至工作寄存器R0—R3。
2.将内部RAM的30H—33H四个存储单元內的数分别传送至外部RAM的2030H--2033H存储单元中。
3. 将内部RAM的30—32H的连续3个字节中的无符号数相加,结果的低位送33H 单元,高位送34H单元实用文档三.实验步骤:1.实验内容1的步骤(1)新建文件,输入能实现实验内容1的源程序并以 .ASM为扩展名存盘;(2)编译并运行程序,检查运行结果:检查R0—R3的内容;(3)单步运行程序,并检查运行结果:检査R0—R3的内容;(4)查看程序的机器码。
2.实验内容2的步骤(1)新建文件,输入能实现实验内容2的源程序并以 .ASM为扩展名存盘(2)编译并运行程序,检查运行结果:检査外部RAM 2030H—2033H单元的內容(3)单步运行程序,并检查运行结果;(4)查看程序的机器码。
3.实验内容3的步骤(1)新建文件,输入能实现实验内容3的源程序并以 .ASM为扩展名存盘;(2)编译并运行程序,检查运行结果;实用文档(3)单步运行程序,并检查运行结果,检查33H、34H单元内容;(4)查看程序的机器码四.实验程序1.实验内容1的程序ORG 0000HMOV 30H,#00HMOV 31H,#01HMOV 32H,#02HMOV 33H,#03HMOV R0,30HMOV R1,31HMOV R2,32HMOV R3,33HEND实用文档2.实验內容2的程序ORG 0000HMOV 30H,#00HMOV 31H,#11HMOV 32H,#22HMOV 33H,#33HMOV DPTR,2030HMOV R0,#30HMOV R1,#04HLOOP:MOV A,·R0HMOVX ·DPTR,AINC R0INC DPTRDJNZ R1,LOOPSJMP $实用文档END3.实验内容3的程序ORG 0000HMOV 30H,#0F8HMOV 31H,#0C6HMOV 32H,#0D9HCLR CMOV A,30HADD A,31HJC NEXT1SJMP NEXT2NEXT1:INC R1NEXT2:ADD A,32HMOV 33H,AJC NEXT3实用文档SJMP NEXT4NEXT3:INC R1NEXT4:MOV 34H,R1SJMP $五.实验报告要求:1.对实验内容1和实验内容2的程序加注释。
汇编源程序名词解释
汇编源程序名词解释
汇编源程序,也被称为汇编语言程序或汇编语言源程序,是指用汇编语言编写的程序。
汇编语言是一种低级的编程语言,其指令集与计算机的机器语言指令集一一对应。
因此,汇编源程序是人类可读的文本文件,包含了按照特定语法规则编写的指令。
然而,汇编源程序在机器上不能直接执行。
它必须经过一个称为“汇编”的过程,即翻译过程,才能变成计算机可以执行的机器语言程序。
汇编程序的核心功能是将汇编指令逐条翻译成机器指令,这正是汇编语言中“汇编”一词的含义。
汇编源程序的文件扩展名通常为.asm,经过汇编以后生成的浮动地址二进制文件扩展名为.obj。
这个.obj文件还需要经过连接才能生成可执行文件.exe。
总的来说,汇编源程序是计算机程序开发过程中的一个重要环节,它介于高级语言源程序和机器语言之间,既具有一定的可读性,又能直接对应到计算机硬件指令,因此在某些特定的应用场合(如系统编程、嵌入式系统开发等)有着广泛的应用。
汇编语言的编程步骤与调试方法
汇编语言的编程步骤与调试方法一、汇编源程序的建立1.使用工具(1)EDIT,记事本等文本编辑软件,编辑源程序,保存为.asm文件;(2)ASM,MASM汇编程序,对源程序进行汇编,生成.obj文件-目标文件,以及调试用.LST-列表文件和.CRF-交叉引用表;(3)Link连接程序,对使用的目标文件和库文件进行连接,生成.exe文件,同时调试用.map-地址映像文件;如果源程序无语法错误,上述三步将生成可运行的.exe文件,如果运行结果无误,则完成对汇编程序的编程,如果运行后结果存在错误,需要进行调试。
(4)Debug调试程序,对.exe文件进行调试,修改,直到程序正确。
图3目标程序生成步骤图2.编程过程(1)用文本编辑软件,编写扩展名为.asm的源文程序文件。
(2)用汇编程序对编好的源文件进行汇编。
命令行:masm[*.asm]↙如果源文件中存在语法错误,则汇编程序将指出错误类型及位置,可根据这些信息重新编辑源文件,直至无语法错误,汇编后,将生成指定名称的目标文件.obj。
使用MASM50汇编程序进行汇编,输入命令行masm或者masm*.asm后,根据提示,输入文件名,在汇编没有错误的情况下,如屏幕所示:汇编程序可生成三个文件,*.obj,*.lst和*.crf。
*.obj-目标文件,用于连接生成可执行文件;*.lst-列表文件(可选),汇编语言汇编的机器语言与汇编语言对照表,可用于调试;*.crf-交叉引用文件(可选),给出了用户定义的所有符号和对每个符号定义、引用的行号。
(3)目标文件的连接命令行:link[*.obj][*.obj][*.lib]↙连接程序,将多个目标程序及库文件,连接生成可执行的*.exe文件,同时可选择生成*.map文件。
*.map-地址映像文件,给出内存地址分配的有关信息。
下图所示屏幕,为Link连接两个目标文件,没有错误的情况下,生成*.exe 文件。
(4)执行程序执行*.exe文件,观察程序运行结果,如果存在错误,需要进行调试。
汇编程序调试实验报告
微机原理与接口技术课程作业班级:目录一、实验目的: (2)二、实验环境 (2)三、实验过程 (2)(一)基础知识储备 (2)(二)汇编语言程序设计 (2)(三)汇编程序调试 (2)四、调试实例 (2)(一)实例一 (2)(二)实例二 (2)(三)实例三 (2)(四)实例四 (2)五、实验总结 (2)(一)实验收获 (2)(二)实验感悟 (2)一、实验目的:汇编语言是一种用助记符表示的程序设计语言。
用汇编语言编写的源程序生成的目标代码短,占内存少,执行速度快,适合于系统软件、实时控制软件、I/O 接口驱动等程序设计。
通过本次实验,熟练掌握汇编程序的调试,深入了解MASM汇编语言及其程序设计方法。
二、实验环境EDIT编辑器、MASM汇编程序、LINK连接程序、TD调试程序三、实验过程(一)基础知识储备1.了解微处理器80486的内部结构、寄存器组、工作模式等基本知识。
2.熟练掌握微处理器指令系统的相关知识,重点掌握80486的寻址方式和常用的指令格式及功能。
3.了解MASM汇编语言及其程序设计方法。
掌握MASM汇编语言的语句格式、语法规则、常用伪指令及DOS功能的调用等。
了解顺序结构、分支结构、循环结构和子程序的设计方法。
(二)汇编语言程序设计1.分析问题,明确要解决的问题和要求。
2.确定解决问题的思路和方法。
3.将解决问题的方案编制成程序流程图。
4.根据流程图,逐条编写程序。
5.上机调试,验证程序是否正确。
(三)汇编程序调试MASM汇编程序的主要功能是:把源文件转换成用二进制代码表示的目标文件,并生成列表文件;在转换过程中汇编程序将对源程序进行扫描,检查源程序是否有语法错误并指出源程序的语法错误。
汇编语言源程序的调试过程需要经过编辑、汇编、连接、运行、调试等几个步骤:1.编辑:使用编辑程序,将编写好的程序输入计算机,建立一个扩展名为ASM 的汇编语言源文件*.ASM。
2.汇编:使用汇编程序,将*.ASM文件经汇编后生成扩展名为*.OBJ。
第8章 汇编语言程序开发与调试
第8章 汇编语言程序开发与调试
8.1 汇编语言程序开发过程 8.2
第8章 汇编语言程序开发与调试
8.1 汇编语言程序开发过程
返回本章首页
第8章 汇编语言程序开发与调试
汇编语言开发过程
(1)编写程序,建立扩展名为.asm的汇编源程
序文件。
(2)对源程序进行汇编,生成目标文件(.obj)。
;------------------- 子程序ASCII结束--------------------------------------------
另外,对于大多数汇编语言程序都需通过调试才能检验 程序执行结果的。下面我们讨论汇编语言程序的调试方法。
返回本节
第8章 汇编语言程序开发与调试
8.2 汇编语言程序的调试方法
命令来调试程序。
返回本节
第8章 汇编语言程序开发与调试
3. DEBUG的主要命令
在输入提示符“-”后,键入?,然后回车,可以显示 DEBUG命令一览表。下面介绍其中得主要命令。 (1) 显示存储单元的命令D(DUMP),格式为:
-D[address]或_D[range]
例如,按指定范围显示存储单元内容的方法为: -d 100 120 18E4:0100 c7 06 04 02 38 01 c7 06-06 02 00 02 c7 06 08 02 G ...8.G.....G ... 18E$:0110 02 02 bb 04 02 e8 02 00-CD 20 50 51 56 57 8B 37.. ; .. h ..M PQVW. 7 18E4:0120 8B
图 8-7 编译界面
第8章 汇编语言程序开发与调试
同样直接输入demo.obj即可。在连接过程中 会提示我们是否需要生成映像文件.map和库文 件.lib,如下图8-8所示。一般不需要,可以直接 键入Enter跳过去。
汇编语言源程序的运行过程
..汇编语言源程序的运行过程一、概述二、具体操作过程1.编辑过程在计算机“附件”的“记事本”中,用word 编辑汇编语言源程序,比用编辑程序EDLIN 要方便得多。
因为使用后者,必须熟记它的各种命令及其功能。
使用前者的操作步骤如下:第一步:编辑并建立扩展名为ams 的文件开始→程序→附件→记事本→键入汇编语言源程序(也可用Ctrl+C 及Ctrl+V 拷贝已有程序)→文件→另存为→出现“另存为”窗口→在‘文件名:’处为该文件命名,并切记:将扩展名由.txt 改为.asm →在“另存为”窗口里的“我的电脑”中找到含有MASM.EXE 、LINK.EXE 以及DEBUG.EXE 这三个工具的文件夹(如,8086experi ),并双击之→该文件夹名便出现在“保存在:”处→保存(至此,该文件夹中将出现你所编辑的扩展名为asm 的汇编语言源程序。
此时的源程序以ASCII 码形式存盘,而非机器码)→关闭记事本。
注意:上述三个工具及用户程序必须在同一文件夹中。
此后,为显示,打印或修改该程序,双击该程序的图标即可。
第二步:在DOS 下运行EDLIN ,以便查找并排除源程序中可能存在的语法错误。
window 状态→开始→运行→打开:cmd ↙→确定→出现DOS 提示符:C:\……>→指定存有你的程序的文件夹所在盘(如D 盘)为当前盘 D: ↙→D:\>cd 文件夹名↙→在DOS 管理下键入源程序编辑程序 无语法错误的汇编语言调试过程D:\文件夹名>edlin 文件名.asm ↙End of input file* E ↙按结束编辑命令E 之前,生成了一个扩展名为$$$的文件;结束编辑状态之后,该文件的扩展名由$$$变为BAK 。
特别指出:即使不用EDLIN 进行编辑,也必须进行此步。
否则,若源程序中存在语法错误,下一步进行汇编后,不予提示,也不生成机器码文件,无法进行再下一步的连接,致使程序无法运行。
汇编程序调试实验报告
.微机原理与接口技术课程作业班级:目录一、实验目的: (4)二、实验环境 (4)三、实验过程 (4)(一)基础知识储备 (4)(二)汇编语言程序设计 (4)(三)汇编程序调试 (5)四、调试实例 (5)(一)实例一 (5)(二)实例二 (7)(三)实例三 (10)(四)实例四 (12)五、实验总结 (14)(一)实验收获 (14)(二)实验感悟 (15)一、实验目的:汇编语言是一种用助记符表示的程序设计语言。
用汇编语言编写的源程序生成的目标代码短,占内存少,执行速度快,适合于系统软件、实时控制软件、I/O 接口驱动等程序设计。
通过本次实验,熟练掌握汇编程序的调试,深入了解MASM 汇编语言及其程序设计方法。
二、实验环境EDIT编辑器、MASM汇编程序、LINK连接程序、TD调试程序三、实验过程(一)基础知识储备1.了解微处理器80486的内部结构、寄存器组、工作模式等基本知识。
2.熟练掌握微处理器指令系统的相关知识,重点掌握80486的寻址方式和常用的指令格式及功能。
3.了解MASM汇编语言及其程序设计方法。
掌握MASM汇编语言的语句格式、语法规则、常用伪指令及DOS功能的调用等。
了解顺序结构、分支结构、循环结构和子程序的设计方法。
(二)汇编语言程序设计1.分析问题,明确要解决的问题和要求。
2.确定解决问题的思路和方法。
3.将解决问题的方案编制成程序流程图。
4.根据流程图,逐条编写程序。
5.上机调试,验证程序是否正确。
(三)汇编程序调试MASM汇编程序的主要功能是:把源文件转换成用二进制代码表示的目标文件,并生成列表文件;在转换过程中汇编程序将对源程序进行扫描,检查源程序是否有语法错误并指出源程序的语法错误。
汇编语言源程序的调试过程需要经过编辑、汇编、连接、运行、调试等几个步骤:1.编辑:使用编辑程序,将编写好的程序输入计算机,建立一个扩展名为ASM 的汇编语言源文件*.ASM。
2.汇编:使用汇编程序,将*.ASM文件经汇编后生成扩展名为*.OBJ。
无线电调试试卷带答案
1、鉴频灵敏度是为使鉴频器正常工作所需输入波的幅度,其值越小鉴频器灵敏度越高。
2、鉴相器是将两个信号的调频变换成相位差的过程。
3、利用乘法器实现鉴相功能的电路中,在两输入信号之一为小信号时,鉴相器输出电压为余弦特性,当输入信号均为大信号时,其鉴相特性将呈三角形。
4、数字电压表的抗干扰能力强,主要由模拟电路和数字电路两部分组成。
5、色纯度就是指彩色光所呈现颜色的纯洁程度.6、激光唱机光头从光盘上读取信号为 3T ∽ 11T (116ms)的不同宽度的数字信号,其平均值为 0 ,数码率每秒达万次7、晶体三极管的噪声主要来源有热噪声、散弹噪、分配噪声和1/f 噪声。
8、DOS的命令分为内部命令和外部命令。
9、将汇编语言翻译成机器语言需要编译软件。
10、锁相环有锁定、窄带滤波、跟踪等特性。
11、锁相环路能捕捉的最大频率失谐范围,称为捕捉带,锁相环路能保持跟踪的最大频率失谐范围称为同步保持带,又称为保持范围。
12、调制过程是把调制信号的频谱从低频搬移到载频的两侧,即产生了新的频谱分量,所以必须采用调制器才能实现。
13、根据调制信号控制载波的不同,调制可分为幅度调制、频率调制、相位调制。
14、调频波的抗干扰性能比调幅波要强。
15、产生调频信号的方法较多,但大多数采用直接调频和间接调频。
二、选择题1、在利用乘法器实现鉴相器中,当两输入信号均为小信呈时,鉴相特性呈( A )。
A 余弦 B 三角 C 矩形 D 直线2、数字电压表的准确度( A )指针式仪表的准确度。
A 远高于 C 低于 D 近似于 D 相同于3、彩色电视机整机的总调时,一般应先进行( A )A 行频、行幅和行中心调整 C 白平衡调整 B 聚焦调整 D 副亮度调整4、下列快捷键中执行剪切能的是(D )。
A Ctrl+V B Ctrl+P C Ctrl+C D Ctrl+X5、计算机的MS-DOS操作系统中,要删除一个子录可用的命令是( B )。
A CD B RD C DEL D ERASE6、MASM用来汇编扩展名为( A )的8086或8088汇编语言源程序。
微机原理第四章练习题及解答
微机原理第四章练习题及解一:单项选择题●汇编源程序文件的扩展名是( C )。
A:*.LST B:*.OBJ C:*.ASM D:*.EXE●源程序文件汇编后的目标文件的扩展名是( B )。
A:*.LST B:*.OBJ C:*.ASM D:*.EXE●目标文件连接后的可执行文件的扩展名是( D )。
A:*.LST B:*.OBJ C:*.ASM D:*.EXE●下列可作为标识符用的字符串是( C )。
A:MOV B:ZF C:FAH D:PTR●下列为寄存器名的字符串是( B )。
A:ZP B:BP C:AP D:CP●下列为状态标志的字符串是( A )。
A:ZP B:BF C:DF D:TF●下列为控标志的字符串是( D )。
A:ZP B:SF C:OF D:TF●下列为指令助记符的字符串是( C )。
A:ADCC B:AAAA C:SUB D:POOP●下列为运算符的字符串是( B )。
A:ADC B:PTR C:OAG D:LOOP●定义字类型的伪指令符是( B )。
A:DB B:DW C:DD D:DQ●说明字节类型的伪指令符是( C )。
A:WORD B:DWORD C:BYTE D:SHOR●返回变量段属性的伪指令符是( B )。
A:OFFSET B:SEG C:TYPE D:SIZE●定义过程结束的伪指令符是( C )。
A:END B:ENDS C:ENDP D:ENDM●下列为段定义的伪指令是( B )。
A:PROC B:SEGMENT C:ASSUME D:STRUC●下列为符号定义的伪指令是( B )。
A:ORG B:EQU C:STR D:RET二:填空题●将指令助记符翻译为指令机器码的过程称为(汇编)。
●汇编程序的功能是输入扩展名为ASM的(汇编源程序)文件,输出扩展名为OBJ的(目标代码)文件和扩展名为LST的(列表)文件。
●汇编源程序中的保留字类型有(寄存器名)、(标志名)、(指令助记符)、(伪指令符)和(运算符)。
微机原理与汇编语言程序设计实验一
实验一汇编语言上机环境及基本操作一、实验目的及要求1.学习及掌握汇编语言源程序的书写格式和要求,明确程序中各段的功能和相互之间的关系。
2.学会使用EDIT、MASM、LINK、DEBUG等软件工具。
3.熟练掌握在计算机上建立、汇编、连接、调试及运行程序的方法。
二、实验内容1.汇编语言源程序的建立本例中给出的程序是要求从内存中存放的10个无符号字节整数数组中找出最小数,将其值保存在AL寄存器中。
设定源程序的文件名为ABC。
DATA SEGMENTBUF DB 23H,16H,08H,20H,64H,8AH,91H,35H,2BH,7FHCN EQU $-BUFDATA ENDSSTACK SEGMENT STACK ’STACK’STA DB 10 DUP(?)TOP EQU $-STASTACK ENDSCODE SEGMENTASSUME CS:CODE,DS:DATA,SS:STACKSTART: PUSH DSXOR AX,AXPUSH AXMOV AX,DATAMOV DS,AXMOV BX,OFFSET BUFMOV CX,CNDEC CXMOV AL,[BX]INC BXLP: CMP AL,[BX]JBE NEXTMOV AL,[BX]NEXT: INC BXDEC CXJNZ LPMOV AH,4CHINT 21HCODE ENDSEND START键入以下命令:C:\>EDIT ABC.ASM此时屏幕的显示状态如图1所示。
图1 用EDIT编辑ABC.AS M程序窗口程序输入完毕后一定要将源程序文件存入盘中,以便进行汇编及连接,也可以再次调出源程序进行修改。
2.将源程序文件汇编成目标程序文件一般情况下,MASM汇编程序的主要功能有以下3点:(1)检查源程序中存在的语法错误,并给出错误信息。
(2)源程序经汇编后没有错误,则产生目标程序文件,扩展名为.OBJ。
(3)若程序中使用了宏指令,则汇编程序将展开宏指令。
微机原理软件实验步骤说明
汇编语言程序设计的实验环境及实验步骤淮北师范大学苗曙光图示操作步骤:1、开始-运行2、在运行窗口输入cmd3、进入DOS操作界面3、改变盘符路径cd..4、改成了试验程序所在的路径(1)编辑源程序(生成.ASM文件) 输入:D:\shiyan>masm 1-1直接按回车(2)连接目标程序(.OBJ → .EXE )输入:D:\shiyan>link 1-1(3)运行可执行程序1-1.exe文字说明部分:知识提要:本章主要进行汇编语言实验环境及实验步骤,涉及到的知识点包括:1、汇编语言源程序编写好以后, 必须经过下列几个步骤才能在机器上运行: (1) 编辑源程序(生成.ASM文件) (2) 汇编源程序(.ASM → .OBJ) (3) 连接目标程序(.OBJ → .EXE ) (4) 调试可执行程序(使用调试程序Debug调试生成的.EXE文件)(5) 运行程序输出结果。
2、 Windows环境下的汇编语言集成编程环境的使用实验一 DOS环境下的汇编语言编程环境使用(基础与验证型)一、实验要求和目的1、掌握汇编语言程序设计的基本方法和技能;2、熟练掌握使用全屏幕编辑程序EDIT编辑汇编语言源程序;3、熟练掌握宏汇编程序MASM的使用;4、熟练掌握连接程序LINK的使用。
二、软硬件环境1、硬件环境:微机CPU 486以上,500MB以上硬盘,32M以上内存;2、软件环境:装有MASM 5.0、DEBUG、LINK、EDIT、CREF.EXE和EXR2BIN.EXE等应用程序。
三、实验涉及的主要知识单元1、汇编语言源程序的汇编过程汇编语言源程序的汇编过程是是利用汇编程序(MASM)对已编辑好的源程序文件(.ASM)进行汇编,将源程序文件中以ASCII码表示的助记符指令逐条翻译成机器码指令,并完成源程序中的伪指令所指出的各种操作,最后可以建立3个文件:扩展名为 .OBJ的目标文件、扩展名为 .LST 的列表文件和扩展名为 .CRF 的交叉索引文件。
详解汇编语言开发环境搭建方法
于这些日子一直都在研究底层的技术,从 Windows 驱动程序,到 Windows 内核等等技术的学习,让我对底层的技术越发有兴趣了,而刚好,在研究 WRK 时,对内存管理,寄存器,地址总线,数据总线,控制总线等的理解不够透彻,所以越发的想学习汇编程序设计来提升功力,而由于近来在公司里一直都有项目压着,所以在公司里也实在不好拿本汇编程序设计看,所以只好晚上回来学习了,汇编看了几个晚上,也算是蛮有感觉的。
今天就先来搭个开发环境再说吧。
开发环境搭配我介绍四种开发汇编程序的方式:第一种:直接在 Dos 环境下使用 Edit 命令调出源码编辑框,生成源码后,可以使用由微软提供的 masm 汇编编译器来对源码进行编译,编译完后再使用 Linker 连接器即可得到可执行文件,这种方式现在几乎被灭绝了(当然使用 masm 汇编编译器还是很普遍的),除非你真要在 DOS 环境下运行汇编程序;第二种:通过简化第一种方式而来;第三种:直接使用 Masm for Windows 集成实验环境,这个开发环境呢,非常适合汇编语言的初学者,因为这个 IDE 本身就是由一些从事汇编程序教学的大学老师开发的出来用于汇编初学者进行学习和实验的,所以使用简单,方便,这里可以对这个 IDE 稍加推荐;第四种:则是通过 Visual Studio 这个强大的 IDE 来实现汇编程序的编译,运行和调试,至于 Visual Studio 就不多做介绍了,.Net 用了这么多年,这东西强大到什么程度那是总所周知的;第一种方式:使用 Edit + MASM 5.0 编译器 + Linker 连接器其实这种方式是很简单的,只是很麻烦,因为简单而且麻烦,所以我采用尽可能的将截图传上来,然后稍加注解的方式进行介绍,软件准备:需要 MASM 5.0 或者以上的汇编编译器首先,是要编辑汇编源代码:其实对于源码的编辑根本不需要向如下这么麻烦,直接拿个记事本就 OK 了运行 cmd 命令输入 Edit 命令从而弹出汇编源码编辑框在源码输入框中输入汇编源码将编辑好的汇编源码保存到 xx.asm 文件中然后就是要编译编辑好的汇编源代码在 Dos 环境下进入到 MASM 5.0 汇编编译器所在的目录然后运行 masm.exe可以从上面的截图中看到 [. ASM] 的标记,这个标记代表的是需要在这里输入要编译的源程序文件名,这里有一点特别的是,由于默认的文件扩展名为 .asm ,所以在编译 .asm 的汇编源程序时可以不用指定源程序所在文件的扩展名。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在DOS状态下运行LINK产生的EXE文件。用DEBUG检查程序.
程序
及
注
释
data1 segment
msg db "Hello,world.",0dh,0ah,"$"
data1 ends
code1 segment
assume cs:code1,ds:data1
Run File [hello.exe]:
List File [nul.map]:
Libraries [.lib]:
Definitions File [nul.def]:
LINK : warning L4021: no stack segment
C:\MASM611\BIN>hello.exe
Hello,world.
Run File [hello.exe]:
Microsoft (R) Segmented Executable Linker Version 5.31.009 Jul 13 1992
Copyright (C) Microsoft Corp 1984-1992. All rights reserved.
实验报告
课程名称:微机原理与接口技术
实验名称:汇编编译工具MASM6.11的使用
专业:网络工程
学号:
姓名:
实验地点:九章楼N6-202
实验日期:2017.2.22
常熟理工学院
项
目
内
容
编译一个扩展文件名为ASM的汇编语言源程序
用汇编程序MASM汇编上述的汇编语言源程序,形成目标代码文件
用连接程序LINK或TLINK连接目标代码文件,形成可执行文件
C:\MASM611\BIN>link hello.obj
Microsoft (R) Segmented Executable Linker Version 5.31.009 Jul 13 1992
Copyright (C) Microsoft Corp 1984-1992. All rights reserved.
C:\Documents and Settings\Administrator>cd c:\masm611\bin
C:\MASM611\BIN>masm hello.asm
Microsoft (R) MASM Compatibility Driver
Copyright (C) Microsoft Corp 1993. All rights reserved.
心得体会
在编译过程中,主要注意,下载文件时,放在正确的位置,输入代码时,要细心,细小的错误都有可能打不开文件,过程稍有问题,但及时改进,下次努力。
成绩
教师(签署)
start:
mov ax,data1
mov ds,ax
lea dx,msg
mov ah,9
int 21h
mov ax,4c00h
int 21h
code1 ends
end start
实验数据和结果
Microsoft Windows XP [版本5.1.2600]
(C)版权所有1985-2001 Microsoft Corp.
Invoking: ML.Eห้องสมุดไป่ตู้E /I. /Zm /c /Ta hello.asm
Microsoft (R) Macro Assembler Version 6.11
Copyright (C) Microsoft Corp 1981-1993. All rights reserved.
Assembling: hello.asm
运行可执行文件,观察执行结果,验证其正确性
项目实
验
环境
汇编语言的计算机环境DOS\WINDOWS
DOS:记事本+MASM6.11+DEBUG调试工具
源程序编辑工具:记事本
汇编编译器:MASM6.11
调试工具:DEBUG
实现原理和方法
用文字编辑工具输入示例程序,存盘取名HELLO.ASM
用MASM命令对源文件进行汇编,产生.OBJ文件。