微机原理上机实验报告
姓名:孙叠
学号:12121700
请完成课件\" 第四章汇编语言程序设计_2\"第44页例子上机实验调试。 已知数据段和堆栈段的定义如下:
DATA SEGMENT
D1 DB -1,-3,5,6,-9 ;定义数组 COUNT EQU $-D1 ; 数组元素个数 RS DW ? ;存放负数个数 DATA ENDS
STACK SEGMENT PARA STACK 'STACK' DB 256 dup (?) STACK ENDS
请写出统计数据块D1中负数个数的程序count.asm,并写出使用masm, link 和debug 生成和调试count.exe 的过程。
注:本题的流程图请画在纸上,需要交纸质报告。 答案: 实验步骤
1:任选熟悉的编辑环境,输入示例程序,取名为count.asm 2:利用MASM进行汇编,
3:用连接程序对生成的EX.OBJ文件进行连接: 4.在debug下加载EX.EXE文件 5. 在debug下调试、执行文件
程序流程图:
程序代码
DATA SEGMENT D1 DB -1,-3,5,6,-9 COUNT EQU $ -D1 RS DW ? DATA ENDS
开始 0->DX Offset d1->bx [bx]->AL [Al]>0? INC DX 结束 STACK SEGMENT PARA STACK 'STACK' DB 256 dup (?) STACK ENDS
CODE SEGMENT
ASSUME CS:CODE, DS:DATA, SS:STACK BEGIN: MOV AX,DATA MOV DS,AX
MOV BX,OFFSET D1 MOV CX, COUNT MOV DX,0
LOP1: MOV AL,[BX] CMP AL,0 JGE JUS INC DX JUS: INC BX LOOP LOP1 MOV RS,DX MOV AH,4CH INT 21H CODE ENDS END BEGIN
调试步骤:
C:\\DOCUME~1\\USER>e: E:\\>cd\\masm
E:\\masm>notepad count.asm E:\\masm>masm count
Microsoft (R) Macro Assembler Version 5.00
Copyright (C) Microsoft Corp 1981-1985, 1987. All rights reserved. Object filename [count.OBJ]: Source listing [NUL.LST]: Cross-reference [NUL.CRF]:
48738 + 394222 Bytes symbol space free 0 Warning Errors 0 Severe Errors -u
1610:0000 B80F16 MOV AX,160F
1610:0003 8ED8 MOV DS,AX 1610:0005 BB0000 MOV BX,0000 1610:0008 B90500 MOV CX,0005 1610:000B BA0000 MOV DX,0000 1610:000E 8A07 MOV AL,[BX] 1610:0010 3C00 CMP AL,00 1610:0012 7D01 JGE 0015 1610:0014 42 INC DX 1610:0015 43 INC BX 1610:0016 E2F6 LOOP 000E 1610:0018 160500 MOV [0005],DX 1610:001C B44C MOV AH,4C 1610:001E CD21 INT 21 -r
AX=0000 BX=0000 CX=0030 DX=0000 SP=0100 BP=0000 SI=0000 DI=0000 DS=15FF ES=15FF SS=1612 CS=1610 IP=0000 NV UP EI PL NZ NA PO NC 1610:0000 B80F16 MOV AX,160F -p
AX=160F BX=0000 CX=0030 DX=0000 SP=0100 BP=0000 SI=0000 DI=0000 DS=15FF ES=15FF SS=1612 CS=1610 IP=0003 NV UP EI PL NZ NA PO NC 1610:0003 8ED8 MOV DS,AX -p
AX=160F BX=0000 CX=0030 DX=0000 SP=0100 BP=0000 SI=0000 DI=0000 DS=160F ES=15FF SS=1612 CS=1610 IP=0005 NV UP EI PL NZ NA PO NC 1610:0005 BB0000 MOV BX,0000 -p
AX=160F BX=0000 CX=0030 DX=0000 SP=0100 BP=0000 SI=0000 DI=0000 DS=160F ES=15FF SS=1612 CS=1610 IP=0008 NV UP EI PL NZ NA PO NC 1610:0008 B90500 MOV CX,0005 -p
AX=160F BX=0000 CX=0005 DX=0000 SP=0100 BP=0000 SI=0000 DI=0000 DS=160F ES=15FF SS=1612 CS=1610 IP=000B NV UP EI PL NZ NA PO NC 1610:000B BA0000 MOV DX,0000 -p
AX=160F BX=0000 CX=0005 DX=0000 SP=0100 BP=0000 SI=0000 DI=0000 DS=160F ES=15FF SS=1612 CS=1610 IP=000E NV UP EI PL NZ NA PO NC 1610:000E 8A07 MOV AL,[BX] DS:0000=FF -p
AX=16FF BX=0000 CX=0005 DX=0000 SP=0100 BP=0000 SI=0000 DI=0000 DS=160F ES=15FF SS=1612 CS=1610 IP=0010 NV UP EI PL NZ NA PO NC 1610:0010 3C00 CMP AL,00 -p
AX=16FF BX=0000 CX=0005 DX=0000 SP=0100 BP=0000 SI=0000 DI=0000 DS=160F ES=15FF SS=1612 CS=1610 IP=0012 NV UP EI NG NZ NA PE NC 1610:0012 7D01 JGE 0015 -p
AX=16FF BX=0000 CX=0005 DX=0000 SP=0100 BP=0000 SI=0000 DI=0000 DS=160F ES=15FF SS=1612 CS=1610 IP=0014 NV UP EI NG NZ NA PE NC 1610:0014 42 INC DX -p
AX=16FF BX=0000 CX=0005 DX=0001 SP=0100 BP=0000 SI=0000 DI=0000 DS=160F ES=15FF SS=1612 CS=1610 IP=0015 NV UP EI PL NZ NA PO NC 1610:0015 43 INC BX -p
AX=16FF BX=0001 CX=0005 DX=0001 SP=0100 BP=0000 SI=0000 DI=0000 DS=160F ES=15FF SS=1612 CS=1610 IP=0016 NV UP EI PL NZ NA PO NC 1610:0016 E2F6 LOOP 000E -p
AX=16F7 BX=0005 CX=0000 DX=0003 SP=0100 BP=0000 SI=0000 DI=0000 DS=160F ES=15FF SS=1612 CS=1610 IP=0018 NV UP EI PL NZ NA PE NC 1610:0018 160500 MOV [0005],DX DS:0005=0000 -p
AX=16F7 BX=0005 CX=0000 DX=0003 SP=0100 BP=0000 SI=0000 DI=0000 DS=160F ES=15FF SS=1612 CS=1610 IP=001C NV UP EI PL NZ NA PE NC 1610:001C B44C MOV AH,4C -p
AX=4CF7 BX=0005 CX=0000 DX=0003 SP=0100 BP=0000 SI=0000 DI=0000 DS=160F ES=15FF SS=1612 CS=1610 IP=001E NV UP EI PL NZ NA PE NC 1610:001E CD21 INT 21 -p
Program terminated normally -
在书写程序段时一定要注意该固定部分的书写形式,同时要注重格式的书写。在编译链接过程中文件的后缀不能输
在分支程序的编写过程中,最重要的是判断指令的选择和各部分程序段的逻辑顺序,其次是各种指令以及寻址方式的熟练运用。这次实验反应出的问题有程序分支后不能汇合到应在的点,主要是因为考虑不周;还有由于自己的不经意,写错指令导致程序不能正常运行;此外,本次上机还让我体会到了程序验证的重要性,
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- 69lv.com 版权所有 湘ICP备2023021910号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务