微机原理及应用课上机_第1页
微机原理及应用课上机_第2页
微机原理及应用课上机_第3页
微机原理及应用课上机_第4页
微机原理及应用课上机_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微机原理及应用课上机1.1.用编辑程序(如用编辑程序(如EDITEDIT)建立)建立ASMASM源程序文件;源程序文件;2.2.用汇编程序(用汇编程序(MASMMASM或或ASMASM)把)把ASMASM文件汇编成文件汇编成OBJOBJ文文件;件;3.3.用连接程序(用连接程序(LINKLINK)把)把OBJOBJ文件转换成文件转换成EXEEXE文文件件( (可执行文件可执行文件) );4.4.在在DOSDOS命令状态下直接键入文件名就可执行该命令状态下直接键入文件名就可执行该文件。文件。第三节第三节 汇编语言上机操作汇编语言上机操作汇编语言程序上机过程汇编语言程序上机过程编辑程序编辑程序ED

2、IT汇编程序汇编程序MASM连接程序连接程序LINK手写程序手写程序 1、在计算机上建立自己的汇编目录。、在计算机上建立自己的汇编目录。 2、将、将、MASM.EXE、 拷入自己的目录下。拷入自己的目录下。建立上机的汇编环境建立上机的汇编环境一般上机过程一般上机过程1 1、在、在DOSDOS下,执行文件,进入编辑界面。下,执行文件,进入编辑界面。2 2、按提供的源程序输入源程序。、按提供的源程序输入源程序。 EDITEDIT的命令激活键为的命令激活键为ALTALT键键, ,命令的亮字符为快捷方式。源程命令的亮字符为快捷方式。源程序以自己命名的文件名以序以自己命名的文件名以.ASM.ASM文件存

3、于自己的汇编目录下。文件存于自己的汇编目录下。3 3、检查、检查MASMMASM、LINKLINK、和、和DEBUGDEBUG程序的好坏。以程序的好坏。以CTRL-CCTRL-C或或Q Q(DEBUGDEBUG)退出。退出。会话方式C MASMCopyright (C) Microsoft Corp 202X-202X, 202X, All rights reservedSourcefilename .ASM: AObjectfilename A.OBJ:Sourcelisting NUL.LET:Cross-reference NUL.CRF:51724 + 452724 Bytes sym

4、bol space free0Warning Errors 0Severe Errors4 4、汇编源程序。、汇编源程序。DOSDOS下键入下键入MASM XXMASM XX;回车。;回车。注:注:XXXX为自己命名的要汇编的源程序名。为自己命名的要汇编的源程序名。.ASM.ASM后缀可以不加,分号不能后缀可以不加,分号不能少。少。有错误有错误,看,看MASMMASM提示的错误行号和错误性质。并用重新修改。提示的错误行号和错误性质。并用重新修改。正确时正确时,产生同名的,产生同名的.OBJ.OBJ文件(目标文件)文件(目标文件)一般上机过程一般上机过程5连接目标程序。连接目标程序。DOS下键入

5、下键入LINK XX;回车。;回车。注:注:XX为自己刚才得到的目标文件名。为自己刚才得到的目标文件名。.OBJ后缀可以不加,分号不能后缀可以不加,分号不能少。少。 正确时正确时,产生同名的,产生同名的.EXE文件。文件。6对于无法在显示器上看到结果的程序,在对于无法在显示器上看到结果的程序,在DEBUG下执行程序并下执行程序并查看结果。查看结果。 方法方法:DOS下下DEBUG 文件名文件名.EXE 回车,回车, 出现出现- DEBUG命令提示符。命令提示符。一般上机过程一般上机过程DEBUG下-Nname.exe-L 将文件从DOS调入DEBUG-U 得到本程序的机器程序代码和反汇编指令得

6、到本程序的机器程序代码和反汇编指令-R 查看执行程序前的寄存器现场和将要执行的指令查看执行程序前的寄存器现场和将要执行的指令-T 单步执行一条指令,查看指令前后的现场变化,了解指令的功能单步执行一条指令,查看指令前后的现场变化,了解指令的功能-D ds:0 可查看执行程序前后的存储器现场可查看执行程序前后的存储器现场-Q 退出退出DEBUG 算术运算符包括、算术运算符包括、* *、/ /、MOD(MOD(取模取模) ),它们与整型常量相结,它们与整型常量相结合,构成算术表达式,其结果为整数。合,构成算术表达式,其结果为整数。4.4.1 算术运算符算术运算符EXAMPLE:EXAMPLE:;在偏

7、移地址;在偏移地址=100=100H处放处放X;变量;变量X的偏移地址为的偏移地址为100100H;变量;变量Y的偏移地址为的偏移地址为101101H;MEM1=100H+5=105H;MEM2=102H-5=0FDH;CONST=101H-100H=1 ORG ORG 表达式表达式$ $ 位置计数器的现行值位置计数器的现行值第四节第四节 汇编语句中的运算符汇编语句中的运算符 4.4.1 算术运算符算术运算符运算符运算符运算格式运算格式运算功能运算功能+ + +表达式表达式正数(单项运算符)正数(单项运算符)- - -表达式表达式负数(单项运算符)负数(单项运算符)+ +表达式表达式1 +1

8、+表达式表达式2 2加法加法- -表达式表达式1 -1 -表达式表达式2 2减法减法* *表达式表达式1 1 * *表达式表达式2 2乘法乘法/ /表达式表达式1 /1 /表达式表达式2 2除法(取商)除法(取商)MODMOD表达式表达式1 MOD1 MOD表达式表达式2 2模除(取余数)模除(取余数)SHRSHR表达式表达式1 SHR1 SHR次数次数右移右移SHLSHL表达式表达式1 SHL1 SHL次数次数左移左移 逻辑运算符是对其操作数进行二进制位的逻辑运算,该操作数逻辑运算符是对其操作数进行二进制位的逻辑运算,该操作数必须是整数,不能是存储器地址。必须是整数,不能是存储器地址。 逻辑

9、运算符有逻辑运算符有NOT(逻辑非逻辑非)、AND(逻辑与逻辑与)、OR(逻辑或逻辑或)、XOR(逻辑异或逻辑异或)。 这里所述的逻辑运算与逻辑运算指令不同,逻辑运算指令是在执这里所述的逻辑运算与逻辑运算指令不同,逻辑运算指令是在执行程序时完成逻辑运算的,而汇编逻辑运算是在源程序汇编时完成行程序时完成逻辑运算的,而汇编逻辑运算是在源程序汇编时完成的。的。 4.4.2 逻辑运算符逻辑运算符 运算符运算符运算格式运算格式运算功能运算功能NOTNOTNOTNOT表达式表达式逻辑非逻辑非ANDAND表达式表达式1AND1AND表达式表达式2 2逻辑与逻辑与OROR表达式表达式1OR1OR表达式表达式2

10、 2逻辑或逻辑或XORXOR表达式表达式1XOR1XOR表达式表达式2 2逻辑异或逻辑异或4.4.2 逻辑运算符逻辑运算符4.4.2 逻辑运算符逻辑运算符;将;将0FF0FHAX0FF0FHAX;将;将0A5HAL0A5HAL;ALAL的内容的内容(0A5H)(0A5H)与表达式与表达式55H AND 0F0H55H AND 0F0H的结果的结果(50H)(50H)进行进行“与与”运算,其结果运算,其结果(00H)AL(00H)ALEXAMPLE:EXAMPLE: 关系运算符对两个操作数进行比较操作,若关系成立则返回真值关系运算符对两个操作数进行比较操作,若关系成立则返回真值“-1”-1”,即

11、即0FFFFH0FFFFH,否则返回假值,否则返回假值“0”0”。 关系运算符有关系运算符有EQ(EQ(相等相等) )、NE(NE(不相等不相等) )、LT(LT(小于小于) )、LE(LE(小于等于小于等于) )、GT(GT(大大于于) )、GE(GE(大于等于大于等于) )。 4.4.3 关系运算符关系运算符EXAMPLE:EXAMPLE:COUNT EQU 32MOV AX,COUNT LT 50 MOV AX,COUNT LT 20 MOV AX,4 EQ 3 ;0 AXMOV AX,4 NE 3 ;-1 AX;变量COUNT=32 被汇编为MOV AX,0,表示第二个操作数值为假 被

12、汇编为MOV AX,0FFFFH ,表示第二个操作数值为真。 4.4.3 关系运算符关系运算符运算符运算符运算格式运算格式运算功能运算功能EQEQ表达式表达式1 EQ 1 EQ 表达式表达式2 2两个表达式相等为真两个表达式相等为真NENE表达式表达式1 NE 1 NE 表达式表达式2 2两个表达式不相等为真两个表达式不相等为真LTLT表达式表达式1 LT 1 LT 表达式表达式2 2表达式表达式1 1表达式表达式2 2为真为真LELE表达式表达式1 LE 1 LE 表达式表达式2 2表达式表达式1 1表达式表达式2 2为真为真GTGT表达式表达式1 GT 1 GT 表达式表达式2 2表达式表

13、达式1 1表达式表达式2 2为真为真GEGE表达式表达式1 GE 1 GE 表达式表达式2 2表达式表达式1 1表达式表达式2 2为真为真数值返回运算符用于回送其操作数在程序中的信息,如段值、偏移值等。数值返回运算符用于回送其操作数在程序中的信息,如段值、偏移值等。4.4.4 数值返回运算符数值返回运算符运算符运算符运算格式运算格式运算功能运算功能SEGSEG SEG SEG 变量或标号变量或标号 回送变量或标号的段地址回送变量或标号的段地址 OFFSETOFFSET OFFSET OFFSET 变量或标号变量或标号 回送变量或标号的偏移地址回送变量或标号的偏移地址 LENGTH LENGTH

14、 LENGTH LENGTH 变量变量 回送变量中的元素个数(外层回送变量中的元素个数(外层DUPDUP的次数),无的次数),无DUPDUP为为1 1 TYPE TYPE TYPE TYPE 变量或标号变量或标号 回送变量或标号数据类型值对变回送变量或标号数据类型值对变量则回送变量一个元素所占字节量则回送变量一个元素所占字节数数. .若是标号若是标号, ,则对则对NEARNEAR型型回送回送-1(FFFFH),FAR-1(FFFFH),FAR型回送型回送-2-2SIZE SIZE SIZE SIZE 变量变量 回送变量所占的字节总数,即回送变量所占的字节总数,即LENGTHLENGTH与与TY

15、PETYPE的乘积的乘积 4.4.4 数值返回运算符数值返回运算符EXAMPLE:EXAMPLE: X DB ? AGIN:MOV AX,SEG X MOV BX,OFFSET X MOV DX,SEG AGIN MOV SI,OFFSET AGIN MOV CH,LENGTH X ;1 CH CH MOV CL,SIZE X ;1 CLCL ;定义变量;定义变量X X为一个字节为一个字节 ;取变量;取变量X X的段地址的段地址AXAX ;取变量;取变量X X的偏移地址的偏移地址BXBX ;取标号;取标号AGINAGIN的段地址的段地址DXDX;取标号;取标号AGINAGIN的偏移地址的偏移地

16、址SISI属性运算符用来指定或修改相应操作数的类型。属性运算符用来指定或修改相应操作数的类型。 4.4.5 属性运算符属性运算符运算符运算符运算格式运算格式运算功能运算功能PTRPTR 类型类型 PTR PTR 表达式表达式 重新设置表达式的类型重新设置表达式的类型: 段前缀段前缀: :表达式表达式 强制汇编程序按段前缀指定的段强制汇编程序按段前缀指定的段来计算变量或标号的偏移地址来计算变量或标号的偏移地址 THISTHISTHIS THIS 类型类型指定一个名字的类型指定一个名字的类型, ,和和EQUEQU一一起使用起使用PTR 操作符允许对已定义了的变量或标号以不同类型进行存取。操作符允许

17、对已定义了的变量或标号以不同类型进行存取。DATA1 SEGMENTBUF DW 100 DUP (?)VALUE EQU 0ABCDHX_BYTE EQU THIS BYTEX_WORD DW 3412H.DATA1 ENDSCODE1 SEGMENT CODE.MOV BX, BUF ;从字变量;从字变量BUF中取一个字中取一个字BXMOV AL, BYTE PTR BUF ;从字变量;从字变量BUF中取一个字节中取一个字节ALMOV SI, OFFSET BUF ;BUF的偏移地址的偏移地址SIMOV AH, BYTE PTR SI+2 ;从字存储器中取一个字节;从字存储器中取一个字节A

18、HJMP FAR PTR NEXT ;转到另一代码段中标号;转到另一代码段中标号NEXT处处.CODE1 ENDSCODE2 SEGMENT NEXT: MOV AH, HIGH VALUE MOV AL, LOW VALUE .CODE2 ENDS4.4.5 属性运算符属性运算符4.4.6 4.4.6 字分离运算符字分离运算符 运算符运算符HIGHHIGH和和LOWLOW是分离运算对象的高字节和低字节部分。是分离运算对象的高字节和低字节部分。这两种运算符的使用格式是:这两种运算符的使用格式是: HIGH HIGH 表达式表达式 LOW LOW 表达式表达式表达式必须表达式必须具有常量值具有常量值HIGHHIGH和和LOWLOW运算符不能对存储器操作数或寄存器内容进行分离运算符不能对存储器操作数或寄存器内容进行分离 4.4.6 字分离运算符字分离运算符运算符运算符运算格式运算格式运算功能运算功能HIGHHIGH HIGH HIGH 表达式表达式 取一个取一个1616位常数表达式的高位位常数表达式的高位字节字节/ /低位字节低位字节 LOWLOW LOW LOW 表达式表达式 取一个取一个1616位常数表达式的低位字位常数表达式的低位字节节/ /低位字低位字 对字

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论