汇编语言程序上机PPT课件_第1页
汇编语言程序上机PPT课件_第2页
汇编语言程序上机PPT课件_第3页
汇编语言程序上机PPT课件_第4页
汇编语言程序上机PPT课件_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1 汇编语言程序上机过程 建立汇编语言的工作环境建立ASM文件用ASM 或MASM 程序产生OBJ文件用LINK程序产生EXE文件程序的执行 2 3 一建立汇编语言的工作环境为了运行汇编语言程序至少要在磁盘上建立以下程序文件 编辑程序 文件名EDIT COM汇编程序 文件名MASM EXE连接程序 文件名LINK EXE调试程序 文件名DEBUG EXE下面是三个可选程序 LIB EXE 库管理程序CREF EXE 符号索引文件处理程序EXE2BIN EXE 将EXE转换为COM的文件格式转换程序 4 二上机操作过程一个源程序的上机操作过程由编辑 汇编 连接和调试四个部分组成 1 编辑汇编语言源程序的编写输入可以在DOS环境下的编辑软件EDIT中完成也可以在目前流行的各种文字处理软件 高级语言编辑环境及数据库编辑环境中完成注意 1 对编辑完成的源程序在存盘时扩展名必须加写 ASM2 一定要严格遵守汇编语言书写格式及段结构的格式来编写程序 5 2 汇编汇编程序的主要功能包括展开宏指令 检查源程序的语法错误 生成目标代码程序 汇编过程就是将汇编语言源程序转换成机器能够识别的目标代码程序 即OBJ的二进制文件 还可生成扩展名为 LST的列表文件 扩展名为 CRF的符号索引文件 MASM5 0提供的汇编程序是MASM EXE MASM6 0提供的汇编语言是ML EXE 二者的区别是 MASM EXE仅能实现源程序的汇编 不能自动调用连接程序 而ML EXE既能实现对源程序的汇编 也可在汇编结束后自动调用连接程序 6 具体汇编过程如下 在DOS状态下 键入MASM 调入宏汇编程序 调入以后 先显示版本号 然后依次提出四个问题 如下所示 SourceFilename ASM Sample第一行询问汇编语言源程序名 ObjectFilename Sample OBJ 询问目标程序文件名 括号内为机器默认的文件名 通常直接回车 表示采用默认的文件名 7 SourceListing Nul LST Sample询问是否要建立列表文件 该文件列出汇编后的目标代码以及与其有关的地址 源语句和符号表 可供打印输出 若需要这个文件则输入文件名并回车 CrossReference Nul CRF Sample询问是否要建立交叉引用文件 该文件是一个中间文件 可供CREF EXE程序建立一个扩展名为 REF的引用表文件 以便用户了解源程序中符号和变量的引用情况 若需要则输入文件名 若不需要则直接回车 当用户回答了第四个询问后 汇编程序就对源程序进行汇编 8 3 连接所谓连接是用连接程序LINK EXE把若干个经汇编后产生的 OBJ文件及指定的库文件连接起来 产生可执行的 EXE文件 在DOS状态下 键入LINK 调入连接程序 调入以后 先显示版本号 然后依次提示四个问题 如下所示 ObjectModules OBJ Sample第一行询问要连接的目标文件名 如果有多个要连接的目标文件 应一次输入 各目标文件名之间用 号相连RunFile Sample EXE 第二个提示询问要产生的可执行文件名 一般直接回车就采用了括号内默认的文件名 9 ListFile Nul MAP Sample第三个提示询问是否产生扩展名为MAP的输出文件 这是一个连接程序的列表文件 又称为连接映象 它给出每个段在存储器中的分配情况Libraries LIB 最后提示是否用到库文件 要求用户输入源程序访问的库文件名 所谓库文件 就是若干可重定位的目标代码的集合 它可以由库管理程序LIB EXE建立和修改 若没有库文件 则直接输入回车即可 10 4 调试经过上述汇编 连接后产生的 EXE可执行文件可在DOS状态下直接输入文件名运行该程序 如果出现错误 可用动态调试程序DEBUG进行调试 找出错误后 再重复上述过程 直至程序能正确运行为止 11 数据的输入与输出 输入一个字符 使用中断21H 功能调用号为01H 将输入任意键入的字符 存入AL中 ASCII码 MOVAH 01HINT21H输入字符串 DX 缓冲区首址LEADX BUFMOVAH 0AHINT21H 12 例 单字符输入 AH 1 get key movah 1int21hcmpal Y jeyescmpal N jenojneget keyyes no 13 例 输入字符串 AH 0ah 缓冲区的第一个字节保存最大字符数 这个最大字符数由用户程序给出 第二个字节是实际输入字符的个数 由功能A填入 不是由用户填入 在这两个字节之后 字符串按字节存入缓冲区 结束字符串的回车符0DH还要占用一个字节 1 maxlendb32actlendb stringdb32dup leadx maxlenmovah 0ahint21h 0b DX 14 输出一个字符 使用02号功能 将DL中的字符显示出来MOVDL X MOVAH 02HINT21H输出字符串 DX 串地址串必须以 结束 光标跟随串移动LEADX DATAMOVAH 09HINT21H 15 例 显示单个字符 AH 2 movah 2movdl A int21h例 显示字符串 AH 9 stringdb HELLO 0dh 0ah leadx stringmovah 9int21h 16 EX1从键盘上键入20个字符 将键入的字符按相同的顺序显示出来 键入时 每键入一个字符 输出一个空格 把主程序建立为过程 由DOS调用该过程 进入程序后 首先把DS的内容和0作为段地址和偏移地址入栈 以便在程序结束时用RET指令返回DOS 若在主程序开始时没有在堆栈中建立返回信息 则在程序结束时就不能直接用RET返回指令 应该使用编号为4C的功能调用返回DOS MOVAX 4CHINT21H 17 DSEGSEGMENTDATADB20DUP DSEGENDSSTACK1SEGMENTDB200DUP 0 STACK1ENDSCSEGSEGMENTYYYPROCFARASSUMECS CSEG DS DSEG SS STACK1 18 START PUSHDSSUBAX AXPUSHAXMOVAX DSEGMOVDS AXLEASI DATAMOVCX 20LP1 MOVAH 01HINT21HMOV SI ALINCSIMOVDL 20H 空格MOVAH 02H INT21HLOOPLP1LEASI DATAMOVCX 14HLP2 MOVDL SI MOVAH 02HINT21HINCSILOOPLP2RETYYYENDPCSEGENDSENDSTART 19 DSEGSEGMENTDATADB20DUP DSEGENDSSTACK1SEGMENTDB200DUP 0 STACK1ENDSCSEGSEGMENTASSUMECS CSEG DS DSEG SS STACK1START MOVAX DSEGMOVDS AXLEASI DATAMOVCX 14H 20 LP1 MOVAH 01HINT21HMOV SI ALINCSIMOVDL 20HMOVAH 02HINT21HLOOPLP1LEASI DATA 若要相反顺序输出 此句省略MOVCX 14HMOVDL 0DH 回车MOVAH 02HINT21H MOVDL 0AH 换行MOVAH 02HINT21HLP2 MOVDL SI MOVAH 02HINT21HINCSI 若要相反顺序输出 此句改为DECSILOOPLP2MOVAH 4CHINT21HCSEGENDSENDSTART 21 输入个数不定 当输入空格时停止DSEGSEGMENTDATADB20DUP DSEGENDSSTACK1SEGMENTDB200DUP 0 STACK1ENDSCSEGSEGMENTASSUMECS CSEG DS DSEG SS STACK1START MOVAX DSEGMOVDS AXLEASI DATAMOVBX 0 22 LP1 MOVAH 01HINT21HMOV SI ALINCSIINCBXCMPAL 20HJELP2MOVDL 20HMOVAH 02HINT21HJMPLP1 LP2 MOVCX BXLEASI DATALP3 MOVDL SI MOVAH 02HINT21HINCSILOOPLP3MOVAH 4CHINT21HCSEGENDSENDSTART 23 EX1从键盘上键入20个字符 将键入的字符按相反的顺序显示出来 键入时 每键入一个字符 输出一个空格 EX2编写人机对话程序WHATISYOURNAME 输入 Mynameis EX3 将变量A 10011010B的数据以二进制形式在显示器上输出 24 例 1 2 3 100 并显示出来 DATASEGMENTBUFDB8DUP 0 最大长度8 初值0DATAENDSSTACK1SEGMENTDB200DUP 0 STACK1ENDSCODESEGMENTASSUMECS CODE DS DATA SS STACK1 25 START MOVAX DATAMOVDS AXMOVBX 1 加数MOVAX 0 和MOVCX 100 次数L1 ADDAX BXINCBXLOOPL1 5050MOVCX 0MOVBX 10LEASI BUF 26 L2 MOVDX

温馨提示

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

最新文档

评论

0/150

提交评论