汇编语言程序设计实验指导书_孙庆英.pdf

上传人:索**** 文档编号:76276805 上传时间:2023-03-08 格式:PDF 页数:27 大小:1.78MB
返回 下载 相关 举报
汇编语言程序设计实验指导书_孙庆英.pdf_第1页
第1页 / 共27页
汇编语言程序设计实验指导书_孙庆英.pdf_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《汇编语言程序设计实验指导书_孙庆英.pdf》由会员分享,可在线阅读,更多相关《汇编语言程序设计实验指导书_孙庆英.pdf(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、汇编语言程序设计实验指导书淮阴师范学院计算机科学系1 目录实验一调试程序 DEBUG 的使用(必做).(1)实验二数据的建立与传送程序(选做).(12)实验三分支循环程序设计(必做).(15)实验四统计学生成绩程序(选做).(17)实验五子程序设计(必做).(21)实验六文件操作(必做).(23)1 实 验 一调试程序DEBUG 的使用一、实验目的1.学习在 DEBUG 状态下输入汇编源程序的方法。2.初步掌握调试(在 DEBUG 状态下)的过程,重点掌握D,E,R,A,U,G,T,P,Q 命令。二、实验步骤1.启动“开始程序附件命令提示符”dos环境。2.输入 debug(回车符),将出现(

2、DEBUG 提示符)状态,这时已进入debug程序,即可输入debug 的命令进行调试。3.下面将 debug 的命令 详细列 出:Debug的命令 都是 一个字母,后跟 一个或多个参 数:字母 参数 命令的使用 中注意:字母不 分大小写;只使用 16 进制数,没有后缀字母;分隔符(空格或逗号)只在两个 数值之间是 必须的,命令 和参 数间可无分隔 符;每个 命令 只有按了 回车 键后才有效,可 以用 Ctrl+Break中止 命令的 执行;命令 如果不 符合 Debug的规则,则 将以“error”提示,并用“”指示错误位置。许多 命令的 参数是主存逻辑地址,形式是“段基地址 :偏移地址”。

3、其中,段基地址可以是段寄存器或数值;偏移地址是数值。如果不 输入 段地址,则采 用默认值,可 以是缺省段寄存器值。如果没有 提供偏移地址,则通常就是当前偏移地址。对主存 操作的命令 还支 持地址范 围这种参数,它的形式是:“开始 地址结束 地址”(结束 地址不 能具 有段地址),或者是:“开始 地址 L 字节长度”。D(Dump)命令 显示主存 单元 的内容,它的格式如 下(注意 分号后 的部 分用 于解释 命令 功能,不是 命令 本身):(掌握)D 地址;显示当前或指 定开始 地址 的主存 内容D 范围;显示指定范围 的主存 内容例如,显示当前(接着上 一 个 D命令 显示的 最后一个地址)

4、主存 内容:2 左边部 分 是主存逻辑地址,中间是 连续 16 个字 节 的主存 内容(16 进制数,以字 节为单位),右边部 分是这 16 个字 节内容 的 ASCII 字符显示,不可显示字 符用点“.”表示。一个 D命令 仅显 示“8 行16 个字 节”(80 列显示模式)内容。再如:-d 100;显示数据 段 100h 开始的 主存 单元-d cs:0;显示 代码 段的主存 内容-d 2f0 L 20;显 示 ds:2f0h开始的 20h 个主存 数据E(Enter)命令 用于修改 主存 内容,它有两 种格式:(掌握)E 地址;格式 1,修改 指定地址 的内容E 地址数据表;格式 2,用

5、数据 表的数据 修改 指定地址 的内容格式 1 是 逐个单元相继修改的方法。例如,键入“e ds:100”,Debug显示 原来内容,用户可以直接 输入 新数据,然后按空格键 显示下一 个单元 的 内容,或者按“”键显示上一个单元 的 内容;不 需要修改 可以直接 按空格或“”键;这样,用 户可 以不 断修改相继单元 的内容,直到 用回车 键结束该 命令 为止。格式 2 可 以一次修改 多个 单元,例如:-e ds:100 F3XYZ8D;用 F3/X/Y/Z/8D这 5 个数据 替代 DS:0100 0104的原来内容。F(Fill)命令 用于对一个主存 区域填 写 内容,同时改写原来 的内

6、容,其格式 为:(了解)F 范围数据表该命令用数据 表的数据 写入指定范围的主存。如果 数据 个数超过指定的 范围,则忽略多出的 项;如果 数据 个数小 于指定的范围,则重复使用这 些 数据,直到填满 指定范围。3 R(Register)命令 用于显 示和修改处理 器的寄存器,它有三种格式。(掌握)R;格式 1,显示所 有寄存器 内容 和 标志 位状态例如,当我们刚 进入 Debug时,就可以执 行该命令,显示示 例如下:其中,前两 行给 出所有寄存器 的 值,包括各 个标志 状态。最后一行 给出了当前 CS:IP处的指令;由于 这是一个涉及 数据的 指令,这一行的 最后还 给出相应单元 的

7、内容。R 寄存器名;格式 2,显示和修改 指定寄存器4 例如,键入“r ax”,Debug给 出当前 AX内容,冒号后 用于输入 新数据,如不 修改 则按Enter 键。RF;格式 3,显示 和修改标志 位Debug将显 示当前 各个标志 位的状态。显示的符 号及其状态 如 下表所 示,用户只要输入这 些符号就 可以修改 对应 的标志 状态,键入的 顺序可 以任 意。汇编命令A(Assemble)用于将输入的汇编指令汇编成 为机 器 代码保 存于主存。(掌握)A 地址;从指定地址 开始汇编 指令A命令 中如果没有指定地址,则 接着上 一个 A命令的 最后一个 单元 开始;若还没有 使用过 A命

8、令,则从当前 CS:IP开始。输入 A命令 后,就可以 输入 8086 指令,Debug将它们 汇编成 机器代码,相继 地存 放在指定地址 开始的 存储区中,记住 最后要输入一 个回车 结束 A命令。进行汇编的步骤如下:输入汇编命令A 地址 ,按回车。Debug提示 地址,等待你 输入 新指令;输入汇编 指令,按 回车;如 上继续 输入汇编 指令,直到 输入 所有指 令;不 输入 内容 就按 回车,结束 汇编,返回 Debug的提示符状态。5 A命令支 持 标准的 8086(和 8087 浮点)指令系统 以及汇编语言语 句格式,但要注意以下一 些规则:?所有输入的数 值都是 16 进制数;?段

9、超越指令 需要 在相应 指令 前,单独一行输入;?段间(远)返回的 助记 符要 使用 RETF;?A 命令 也支持最 常用的 两个 伪指令 DB和 DW。反汇编命令U(Unassemble)将 主存 内容 按照机器代码 形成汇编 指令显示:(掌握)U 地址;从指定 地址 开始,反汇编 32 个字 节(80 列显示模式)U 范围;对指 定范围的主存 内容 进行 反汇编U命令 中如果没有指定地址,则接着上 一个 U命令的 最后一个单元 开始;若还没有 使用过U命令,则从当前 CS:IP开始。6 屏幕 显示的 左边 是主存逻辑地址,中间是 该指令的 机器 代码,而右边 则是对 应的指令汇编 格式。运

10、行命令G(Go)从指 定地址 处开始 运行程序,直到 遇到断 点或者程序 正 常结束。(掌握)G=地址 断点地址1,断点地址2,.,断点地址10G命令 等号后 的地址指 定程序 段 运行的 起始地址,如不指 定则从 当前 的 CS:IP开始 运行。断点地址如果只有偏移地址,则默认是 代码 段 CS;断 点可 以没有,但最多只 能有 10个。程序 遇到断 点(实 际上就是 断点中断指令 INT 3),停止执 行,并显示当前 所有寄存器和 标志 位的 内容、以及下一 条将要执行的 指令(显示内容同 R命令),以 便观察 程序运行到此的情况。程序 正常 结束,将 显示“Program termina

11、ted normally”。注意,G命令 以及后面 的 T 和 P命令 要指向正确 的指令代码,否 则会出现 不可预测 的结果,例如“死机”。7 跟踪命令T(Trace),也称 为单 步命令,每执 行一 条指 令就显示运行结 果,使程序 员可以细 致地观察 程序的 执行情况。(掌握)T=地址;逐条指令跟踪T=地址 数值;多 条指令跟踪从指定地址 起执行一 条 或数值参 数指定条数的 指令后停 下来,每条指令 执行后都 要显示所有寄存器和 标志 位的 值以 及下一 条指令。如未指定地址则 从当前 的 CS:IP开始执行。注意 给 出的 执行地址前有 一个等号,否 则会被 认为是 被跟踪指令的 条

12、 数(数 值)。T命令 逐条 指令执行程序,遇到子程序(CALL)或中 断调用(INT n)指令 也不例外,也会 进入 到子程序 或中 断服务 程序 当中执 行。继续 命令 P(Proceed)类似 T命令,逐条执行指令、显示结果。但是当 遇到子程序调用、中断功能 调用 和循环 指 令等时,不在子程序、中断服务 程序 或循环 体中 单步执行,而是直接 执行 完成子程序、中断服务 程序 或循环 体,然后显 示结果。当不 需要 调试子程序、中断服务 程序 或循环程序 段时,要应 用 P命令,而不是 T 命令。P=地址 数值 8 退出命令Q(Quit)使 Debug程序 退出,返回 DOS。Q命令

13、并无存 盘功能,可使用W 命令存盘。Q以下命令了解:命名命令N(Name)把一个或两个 可 以包含路径 的文件 全名 存入 Debug中,以便在其后 用L 或 W命令 把文件 装入或存 盘。N 文件名 1,文件名 2装入命令 L(Load)将 磁盘 中的文件 或扇区内容 装载 到主存中。L 地址;格式 1:装入由 N命令 指定的文件9 格式 1 的 L 命令 装载 一个文件 到给定 的主存地址 处。L 地址驱动器扇区号扇区数;格式 2:装入 指定磁盘扇 区 范围的内容格式 2 的 L 命令 装载磁盘 的 若干扇 区(最多 80h)到给定 的主存地址 处;缺省段地址是CS。其中,0 表 示 A盘

14、,1 表示 B盘,2 表示 C盘,。写盘命令W(Write)主存 内容 写入磁盘 的文件 或扇区中,与 L 命令 相反。W 地址;格式 1:将由 N命令 指定的文件 写入磁盘10 格式 1 的 W 命令将 指定开始 地址 的数据 写入一 个文件(这 个文件 应该 已 经用 N命令命 名);如未指定地址则 从 CS:100开始。要写入文件的 字节数应先放入 BX(高字)和 CX(低字)中。如果采 用这 个 W命令 保存你的可 执行程序,它的扩展名 应 是 COM;它不能写入具有 EXE和 HEX扩展名 的文件。W 地址驱动器扇区号扇区数;格式 2:把数据 写入指定磁盘扇 区范围格式 2 的 W命

15、令将 指定地址 的数据 写入磁盘 的若干扇 区(最多 80H);如果没有 给出段地址,则缺省是CS。其他说明 同 L 命令。由于 格式 2 的 W命令 直接 对磁盘 写入,没有 经过DOS文件 系统管理,所以一定要 小心,否则可能 无法利用 DOS 文件 系统读写。比较 命令 C(Compare)C 范围地址;将指定范围的 内容 与指定地址 内容 比较 16 进制数计 算 命令 H(Hex)H 数字 1,数字 2;同时计 算两个 16 进制数字的 和与差 输入命令I(Input)I 端口地址;从指定 I/O 端口 输入一 个字 节,并显示 输出命令O(Output)O 端口地址字节数据;将数据

16、输出 到指定 的 I/O 端口 传送命令M(Move)M 范围地址;将指 定范围的内容 传送 到指定地址 处 查找 命令 S(Search)S 范围数据;在指定范围内 查找 指定的数据 帮 助命令?;显示各命令的 简要说明3 参考程序:MOV AX,2000;AL=MOV DS,AX;DS=NOT AX;AX=XOR AX,AX;AX=DEC AX;AX=INC AX;AX=MOV BX,2030;BH=MOV SI,BX;SI=MOV SI,BL;2030H=MOV WORD PTRSI,10F;2030H=2031H=MOV DI,SI;DI=MOV DI+50,BH;DI+50H=11

17、MOV BH,SI;BH=MOV BL,DI+50;BL=MOV SP,5000 PUSH AX;AX=SS:4FFEH=SS:4FFFH=PUSH BX;BX=SS:4FFCH=SS:4FFDH=POP AX;AX=POPF;F=NEG BX;BX=XCHG BX,AX;BX=STD;F=STI;F=CLD;F=CLI;F=ADC DI,2050;DI=F=ADC SP,DI;SP=F=ADC AX,1500;AX=F=SUB AX,BX;AX=BX=SHL AH,1;AH=RCL AX,1;AX=SHR BH,1;BH=RCR BL,1;BL=MOV CL,4 MOV DX,80F0 RO

18、L DX,CL;DX=CL=INT 20;CS=IP=三、实验报告要求1.整理每条指令 执行的 结果,填到 对应指令的 右半部分(应注意 内存 数据 检查的正确性)。2.比较 实验 记录与 理论分析的结果是 否相同,若有不 同,找出差别及问题 所在。3总 结本次 实验的 体会。12 实 验 二数据的建立与传送程序(选做)一、实验目的1.熟悉 8086 基本指令。2.继续 学习 DEBUG 命令。3.验 证指令的 功能。二、实验原理在 DEBUG 状态下,分别输入下 面各程序 段,每输入 完一个 程序 段,用 G 命令进行 连续方式执 行程序,在 连续 执行时,要记录程序的 执行结果。参考程序:

19、1.在 内存 10000H 单元 开始,建立00H0FH00H 31 个数,要求 00H0FH 数据逐渐增 大,0FH00H 逐渐减 小。该程序 从内 存 CS:0100H 地址 开始输入。MOV AX,1000H MOV DS,AX MOV SI,0 MOV CL,0FH XOR AX,AX PPE1:MOV SI,AL INC SI INC AL DEC CL JNZ PPE1 MOV CX,10H PPE2:MOV SI,AL INC SI DEC AL LOOP PPE2 INT 20H 注:转段指 令的符 号地址 直接 用绝对偏移地址,该地址 在用 A 命令汇编输入时,可以看到程序

20、全 部运行完之后,可用 DEBUG 的 Dump 命令 查看 建立的数据 块内容。例如:13 D1000:00 1E 2.把 上一个程序的 执行结果(建立的 31 个字 节数据 块,其首地址 在 10000H),分 几种方式传送 到以 下指定的区域。(a)该 程序 从内 存 CS:0150H 开始输入。把数据 块传送 到 15050H 开始的 存 贮区域 中。MOV AX,1000H MOV DS,AX MOV SI,0 MOV DI,5050H MOV CX,1FH;数据 块长度 是 31 PPEA:MOV AL,SI MOV DI,AL INC SI INC DI LOOP PPEA IN

21、T 20H 检查内存 数据 块的传送 情况,可用“D”命令。(b)用串传送 指令 MOVSB,把数据 块传送 到 15150H 开始的 区域,该程序 从内 存CS:0200H 开始输入。检查程序 最后的执行结 果,可用“D”命令,例如:D1000:5150(c)用重 复串操作 指令“REP MOVSB”把数据 块传送 到 15250H 开始的 区域。该 程序从 CS:250H 地址 开始输入。检查程序的 最后执 行结 果时,可用:D1000:5250H(d)用串操作的 减量工 作方 式,把数据 块传送 到 25050H 开始的 区域。该程序 从 CS:0300H 开始输入。检查程序的 最后执

22、行结 果,用 D 命令:D2000:5050三、实验步骤参照 实验一的步 骤,按照本实验程序的 内容,分 别 输入 各段程序,并单步和连续 执14 行程序,记录 每条指令的 执 行结果和每个 程序 段的最后结果。在作 单步操作 或用 G 命令设段点操作时,在暂停处,可 以检查所有寄存器和有关内 存单元 的内容,这 不会影响 程序的 继续 执行。若想把源数据 块重新换 一批数据,可 以用 DEBUG 的 Fill 命令 填充新的数据。例如:F1000:00 L1F 33从 1000:0000H 开始的 31 个字 节被替换成 33H。四、实验报告要求1.整 理每个 程序 段 在实验时的 记录 内

23、容。2.比较 每个 程序 段 的特点。3.分 析本次 实验出现的 问题,找出 问题 所在。15 实验三分支循环程序设计一、实验目的练 习分支循环程序的编写方法,熟悉 字符、字符串 的输入输出方法。练 习汇编语言程序的上机 过程。二、实验原理通过分支循环程序设计调试和运行,进一步 熟悉 掌握汇编程序执行的 软件环境。通过分支循环程序的 执行过程,熟悉 EDIT 的使用,建立 OBJ 文件 EXE 文件的方法。三、实验内容从键盘输入一 个字 符串(不超过 80 字符,且不含“$”),先将它在下一行 原样显 示一遍,然后将 其中 的小写字母 转化 为大写,最后将转化 后的 字符串在下一行 显示。参考

24、程序data segment buf db 80,81 dup(0)data ends code segment assume ds:data,cs:code main:mov dx,data mov ds,dx lea dx,buf mov ah,10 int 21h mov bl,buf+1 mov bh,0 mov buf+bx+2,$mov buf+1,10 lea dx,buf+1 mov ah,9 int 21h mov cx,bx mov si,2 16 cnt:cmp buf+si,a jb grd cmp buf+si,z ja grd sub buf+si,32 grd:i

25、nc si loop cnt mov dl,0ah mov ah,2 int 21h mov dl,0dh int 21h lea dx,buf+2 mov ah,9 int 21h mov ax,4c00h int 21h code ends end main 实验 结果 截图四、实验报告要求1.实验 报告 中要有 源程序 和执 行结 果。2.总 结实验过程 中 出现的 问题。17 实验四统计学生成绩程序(选做)一、实验目的进一步掌握分支程序和 循环程序的编 写方法。二、实验原理设有 10 个 学生的成绩分 别 为 56、69、84、82、73、88、99、63、100 和 80 分。试编制

26、程序分 别 统计 低于 60 分、60 69 分、7079 分、8089 分、9099 分及 100 分的人数存放到 s5、s6、s7、s8、s9及 s10 单元 中。这一 题目 的算法很简 单,成绩分 等部分采用分支 结构,统计 所有成绩 则用循环 结构完成。程序 框图 如 下图所示。开始初始 化计数 单元初始 化循环计数 值初始 化首 地址取一个成绩Y 60?N Y 70?N Y 80?N Y 90?N N=100?Y 修 改 地 址N 循环 结束?S10+1 S9+1 S8+1 S7+1S6+1S5+1 18 结束Y 三、实验步骤输入编 写 的源程序,进行调试。参考程序 如下:;PROG

27、RAM TITLE GOES HERE result;*datarea segment;define data segment grade dw 56,69,84,82,73,88,99,63,100,80 s5 dw 0 s6 dw 0 s7 dw 0 s8 dw 0 s9 dw 0 s10 dw 0 datarea ends;*prognam segment;define code segment;-main proc far;main part of program assume cs:prognam,ds:datarea start:;starting execution addres

28、s;set up stack for return push ds;save old data segment sub ax,ax;put zero in AX push ax;save it on stack;set DS register to current data segment mov ax,datarea;datarea segment addr mov ds,ax;into DS register;MAIN PART OF PROGRAM GOES HERE mov s5,0;initialize counter mov s6,0 19 mov s7,0 mov s8,0 mo

29、v s9,0 mov s10,0 mov cx,10;initialize loop count value mov bx,offset grade;initialize first addr compare:mov ax,bx;get a result cmp ax,60;60?jl five cmp ax,70;70?jl six cmp ax,80;80?jl seven cmp ax,90;90?jl eight cmp ax,100;=100?jne nine inc s10 jmp short change-addr nine:inc s9 jmp short change-add

30、r eight:inc s8 jmp short change-addr seven:inc s7 jmp short change-addr six:inc s6 jmp short change-addr five:inc s5 change-addr:add bx,2 loop compare ret;return to DOS main endp;end of main part of program 20;-prognam ends;*end start;end assembly四、实验要求1读 懂所给 的程序。2编 写程序将 存放于 S5、S6、S7、S8、S9 及 S10 单元

31、中的数据在 屏幕 上显 示出 来。21 实验 五子 程序设计一、实验目的熟悉 子程序 定义、调用方法,熟悉 输入输出程序的设计方法。二、实验内容利用扬声 器原理,编 写 一个简易乐 器程序。当按 下 18 数字键 时,分 别发 出连续 的 中音 17 和高音 i(对 应频率依 次为 524Hz,588Hz,660Hz,698Hz,784Hz,880Hz,988Hz,1048Hz);当按 下其 他键时暂停发音;当按 下 ESC 键(ASCII 码为 1Bh),程序 返回操作 系统。要求扬声 器发声 与否、扬声 器发生频率 设置均用字程序实现。PC 中扬声 器的 声音频率 是可调的,参考如下程序:

32、;发音频率 设置子程序,入 口参数:AX=1.1931 8 106发音频率Speaker proc Push ax;(由于 系统已设 置好,这 4 条指令也可 以不 要)mov al,0b6h ;设置定时器 2 工作方 式out 43h,al;注:43h 是 定时器 2 的控 制端口pop ax out 42h,al;写入低 8 位定时值mov al,ah;注:42h 是 定时器 2 的数据 端口out 42h,al;写入高 8 位定时值ret speaker endp三、实验步骤编写源程序,进行调试,参考程序 如下:;数据 段table dw 2277,2138,1808,1709,1522

33、,1356,1208,1139;对 应中音 1 7 和高音 i 的定时器记 数值;代码 段 mov al,0b6h ;设置定时 器 2 工作方 式22 out 43h,al again:mov ah,1 ;等待 按键 int 21h cmp al,1;判断是否为 数字 18 jb next cmp al,8 ja next sub al,30h;18 的 ASCII 码转换 为二进 制数 sub al,1;再减 1,将数 字 18 变为 07,以便查 表 xor ah,ah shl ax,1 ;乘以 2 mov bx,ax;记数值表是 16 位数据,无法采用 xlat 指令 mov ax,ta

34、blebx ;取出对应 的记数值 out 42h,al ;设置定时器 2 的记数值 mov al,ah out 42h,al in al,61h ;打开 扬声 器声音 or al,03h ;使 D1D0 PB1PB011b,其他位不 变 out 61h,al jmp again ;连续 发声,直到 按下另一个键next:push ax in al,61h ;不是 数字 18,则关闭扬声 器声音 and al,0fch ;使 D1D0 PB1PB000b,其他位不 变 out 61h,al pop ax cmp al,1bh ;判断 是否为 ESC 键(对应 ASCII 码 1bh)jne ag

35、ain ;不是 ESC,继续;否则程序 执行结束四、实验要求记录程序编 写、调试过程 中出现的 问题,写实验 报告。23 实验 六文件 操作一、实验目的掌握文件的 相关操作:新建,打开,读,写,关闭。二、实验内容(1)创建一 个 文本文件 MYFILE1.TXT,将 从键 盘输入的 内容 写 入此文件 中,输入过程 以回车 结束。(2)将(1)中形 成的文件MYFILE1.TXT中的 小写字母 变成大写字母,并复制 到另一文件 MYFILE2.TXT中。(3)将 上面两个 例子中形 成的文件MYFILE2.TXT连接到 MYFILE1.TXT后面,然后删除 MYFILE2.TXT(4)已 知有

36、一 个文件MYFILE.TXT,其中 的内容为5 个学生的 记录,每条记 录 为14 个字 节,最后两个字 节为 回车 和换行。要求编程实现:从键盘输入 任一个序号后,在屏幕 上显 示出 该条记 录,有效 记录号为 15,若输入回车 则结束。(选做)三、实验原理给出(1)的 流 程图,如图(1)所示。四、实验步骤编写源程序,进行调试,(1)参考程序 如下:DATA SEGMENT FILENAME1 DB MYFILE1.TXT,0 ;ASCIIZ串HANDLE1 DW?;保存文件 句柄单元BUFFER DB 3 DUP(?);读写缓冲 区ERROR1 DB Can Not Open File

37、!,0DH,0AH,$ERROR2 DB Can Not Creat File!,0DH,0AH,$ERROR3 DB Reading File Wrong!,0DH,0AH,$ERROR4 DB Writing File Wrong!,0DH,0AH,$DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA start:MOV AX,DATA MOV DS,AX ;创 建新文件 MYFILE1 MOV AH,3CH ;INT 21H的 3CH功能24 图(1)LEA DX,FILENAME1;DX=ASCIIZ串的首地址 MOV CX,0 ;CX=0,普通

38、文件 INT 21H ;创建文件 JC ERR2 ;创建不成功,转 ERR2 MOV HANDLE1,AX ;保存文件 句柄LP1:mov ah,1 int 21h cmp al,0dh jz L0 lea bx,BUFFER N N N Y Y Y 开始创建 文件从键盘接 收 一个字符把字 符 写到文件中是 回车吗写文 件 成功?关闭文件结束YNYN创 建 成 功?N显示 错误信 息Y显示 错误信 息25 mov bx,al ;将缓冲 区中内容 写 到文件 MYFILE1中 MOV AH,40H ;INT 21H的 40H功能 LEA DX,BUFFER ;DX=写缓冲 区首地址 MOV B

39、X,HANDLE1;BX=文件 句柄 MOV CX,1 ;CX=要写入的 字节数 INT 21H ;写文件 JC ERR4 ;不成功,转 ERR4 JMP LP1 ;关闭 文件 MYFILE1 L0:MOV AH,3EH ;INT 21H的功能 3EH MOV BX,HANDLE1 ;BX文件 句柄 INT 21H ;关闭 文件EXIT:MOV AX,4C00H ;返回 DOS INT 21H ERR2:MOV AH,9 ;显示创建文件出 错信息 LEA DX,ERROR2 INT 21H JMP L0 ERR4:MOV AH,9 ;显示写文件出 错信息 LEA DX,ERROR4 INT 21H JMP L0 CODE ENDS END start五、实验要求完 成其他几个实验 题目,体会 文件操作过程,写实验 报告。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 实施方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁