[计算机]Assembler.doc_第1页
[计算机]Assembler.doc_第2页
[计算机]Assembler.doc_第3页
[计算机]Assembler.doc_第4页
全文预览已结束

下载本文档

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

文档简介

交叉汇编程序使用说明(一)、基本指令表指令分类及名称指令编码指令说明一、双操作数单字节指令0XXX DR, SR可扩展。1.ADD DR, SR0 0 0寄存器间操作,DR和SR的范围是R0R3。2.SUB DR, SR0 0 13.AND DR, SR0 1 04.CMP DR, SR0 1 15.MOV DR, SR1 0 0二、单操作数单字节指令(1)10 XXXX DR可扩展。1.SHR DR1 0 0 0寄存器操作,DR的范围是R0R3。2.SHL DR1 0 0 13. IN PORT1 0 1 000,01: PORT0的数据和控制;10,11: PORT1的数据和控制。4. OUT PORT1 0 1 15.PUSH DR1 1 0 0SP 为R7:R6。6.POP DR1 1 0 17.STO SR1 1 1 0读写内存,地址为R9:R8。8.LOD DR1 1 1 1单操作数单字节指令(2)9.INC DR1 1 0 0 DRDR(R0R3, R8R15)。10.DEC DR1 0 0 1 0 0 DRDR(R0R3)。三、无操作数单字节指令(1)1111 XXXX可扩展。1.CLC1 0 0 02.STC1 0 0 13.PSHF1 0 1 0SP 为R7:R6。4.POPF1 0 1 15.CALL1 1 0 0地址为R11:R10。6.RET1 1 0 17.DEBUG1 1 1 0调试专用指令。8.JMP1 1 1 1地址为R11:R10。无操作数单字节特权指令(2)1100 XXXXPC为R5:R49.TPC0 1 0 0R4-R12, R5-R1310.FPC0 1 0 1R4-R12, R5R14, R7-R1512.FSP0 1 1 1R6-R14, R7-R15四、双操作数双字节指令(1)1.MVD DR, DATA1101 DR DATADR( R0R15 ) 双操作数双字节指令(2)编码举例:100XXX DR(SR),P无基本指令,用于扩展指令,例如:IN1(OUT1) DR(SR),PORT五、单操作数双字节转移指令1110 XXXX可扩展。1.JZ OFFSET1 0 0 0OFFSET为相对跳转的偏移地址2.JNZ OFFSET1 0 0 13.JC OFFSET1 0 1 04.JNC OFFSET1 0 1 15.JR OFFSET1 1 0 0六、双操作数三字节指令编码举例:100XXX DR(SR),A无基本指令,用于扩展指令,例如:LOAD DR, ADDR(16位)七、单操作数三字节转移指令编码举例:11110XXX A无基本指令,用于扩展指令,例如:JUMP ADDR(16位)(二)、交叉汇编程序的使用1 执行文件TECA.EXE,在DOS命令行提示符下输入“TECA 源程序文件名 机器码文件名”。其中源程序文件保存的是根据8位机指令编写的源程序,该文件可以取任意的扩展名,默认的扩展名是.SRC,即用户没有输入文件的扩展名时,程序会使用.SRC作为文件的扩展名。机器码文件指的是交叉汇编程序对源程序汇编后,生成的机器代码存入的二进制文件。这一输入参数是可选的,当用户没有输入机器码文件名时,该文件将与源程序文件同名,它的扩展名固定为.COD。2 如果用户输入的上述文件名合法,接下来将要求用户输入扩展指令表所在的文件名。用户在输入该文件名时,需要给出完整的名字。如果用户没有扩展指令,则可以直接按下回车键。用户编写程序要用的扩展指令为了能被交叉汇编程序识别,必须按照固定的格式在某个文本文件里加以说明。在扩展指令的说明文件中,每个扩展指令占一行,同时要符合如下的格式:指令名称 指令的操作码 指令的种类三个字段之间用空格或TAB字符隔开,例如:LOAD 100010 6其中指令名称不能与已有的指令名冲突,而且第一位字符不能取数字;操作码字段要求以二进制形式输入,长度为4,6或者8位,程序将会对该二进制字符串的长度和范围进行检查;指令的种类必须按照上述基本指令表中的分类标明,用户在确定扩展指令所属的类别时,应从字节数,操作数的个数及类型,寄存器或者立即数的位置几个方面考虑,必须与规定的格式一致。不在上述七类中的指令类型,目前程序不能识别。除去基本指令所使用的编码,扩展指令可以使用的编码格式如下:0101XXXX 0110XXXX 0111XXXX 100XXXXX (除去100100XX)11100XXX 11110XXX 111011XX (除去11101100)3 扩展指令装入成功以后,程序将要求用户指定列表文件的名称,该文件将以规范的格式将源程序以及使用的标号,变量,存储地址详细的记录下来。如果用户没有指定文件名称而直接按下回车键,在汇编的过程中将不产生列表文件;如果用户输入“CON”,则只在标准输出设备产生列表文件;在用户指定文件名的情况下,将在当前目录产生列表文件,默认的扩展名是.LST。4 交叉汇编程序支持如下伪指令:u ORG expression 定义程序的首地址或者当前程序段的起始地址为expression的值;u Variable EQU (=) expression定义变量Variable的值为expression;u address DB expression,expression以address为首地址存储expression的值,这里的expression还包括用单引号扩起来的字符串,例如:lab Db 3,5,String,China;u BLK N 在内存中保留N个0字节;u END程序的结束标志。用户的源程序必须以ORG开始,以 END 结尾。地址范围是065535(字节单位)。用户也可以在程序内部插入多个ORG,用来指定下面新程序段的起始地址,而中间的空余存储单元将在汇编过程中自动填0。交叉汇编程序支持用户使用数值的10进制,16进制表示,缺省为10进制,例如30, 30D,30d均表示是十进制整数30,而30h,30H,0A1h则表示16进

温馨提示

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

评论

0/150

提交评论