《2023年汇编语言顺序结构实验报告.docx》由会员分享,可在线阅读,更多相关《2023年汇编语言顺序结构实验报告.docx(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、实验二实验目的:1 .掌握顺序结构程序的基本设计方法;.掌握数据传送指令和算术运算指令的用法;2 .掌握逻辑操作指令和移位操作指令的用法;.掌握状态标志位操作指令的用法;3 .掌握简朴的I/O功能调川。实验规定.纯熟掌握DEBUG中的U,D,E,G命令的使用方法:1 .学会运用系统功能调用,来实现键盘输入字符:、显示字符的方法;. 了解大、小写字母及数字在计算机中的表达方法及转换方法。实验内容题目编写十六进制的乘法程序。规定从键盘上输入两个一位十六进制数据,乘积存入SUM单元以卜.是我的汇编程序代码:DSEG0S E GMEN TSUMDW ?HTAB DB ?ABCDEFHTAADB,ABC
2、DEF/DSEG ENDSCSEG0SEGMENT0ASSUMECS:CSEG,DS:DSEGSTART:MOVAX, DSEG0 MOV a DS,AX0MOVAHz01H00MOV0DL;*INT2 1 HMOVAH,0 2 HINT21HSUBAL, 3 OHLEA BX,HTAB0 XLATMOV DL,A LMOV AH,0 1 HINT2 1 HSUBAL,30HXLATMOVBL,D LMUL BLMOVSUM, AXMOV BL, ALMOVCL,ALMOV DL,=MOVAH,02HIN T 21HS HR BL, 4MOV AL,BLLEA BX, HTAAXLATMOVD
3、L,BLMOVAH,02HINT21HAN DCLZOFHMOVAL,CLaax l atMOVDL,A LMOV AH,02HI NT 21HMOV DL, HMOV AH, O2HINT 21HMOVAH,4cHI NT 21HC SEG ENDSEND0START结果该程序不仅将结果存入了 sum,且显示在了屏幕上,经测试无溢出。ca* C:CHENG. exe35=0FHca C:CHENG. exe(E*F=D2H调试,改错在实验过程中,有几个问题出现了,一方面,一开始在编写代码过程中,由于我没有给输入内容表加逗号,导致数据溢出而使 编译无法通过,通过修改后终于通过了编译。但是之后结
4、果一直都显示为同一个数字,通过单步指令语言执行后,我得到了以下的结果:、X=0233 BX=0000 )S=0B3C ES=0B2C 5B3F:000D CD21 -P *IX=022A BX=0000 )S=0B3C ES=0B2C 3B3F:000F 2C30CX=0087 DX=002ASS=0B3C CS=0B3FI NT 21CX=0087SS=0B3CDX=002ACS=0B3FSP=0000IP=000DBP=0000 SI=0000 DI=0000NU UP EI PL NZ NA PO NCSUBAL,30SP=0000 IP=000FBP=0000 SI=0000 DI=0
5、000NU UP EI PL NZ NA PO NC在执行I NT 21H指令后,AL寄存器中的内容被改变,于是我将AL用DL保存起来后重 新执行,发现仍然会显示乱码,进一步进行单步指令执行后,我发现,寄存器AL,在转存 过程中被我记成了 BL。通过修改终于完毕。FpAX=0231 BX=0019DS=0B3C ES=0B2C 0B3F:003F 8AD3 -PCX=1E04 DX=003D SP=0000SS=0B3C CS=0B3F IP=003FMOUDL,BLBP=0000 SI=0000 DI=0000NU UP EI PL NZ NA PO CYWX=0231 BX=0019&)S
6、=0B3C ES=0B2C0B3F:0041 B402F-pCX=1E04 DX=0019 SP=0000SS=0B3C CS=0B3F IP=0041MOUAH, 02BP=0000 SI=0000 DI=0000NU UP EI PL NZ NA PO CYAX=0231 BX=0019DS=0B3C ES=0B2C 0B3F:0043 CD21 -PCX=1E04 DX=0019SS=0B3C CS=0B3FI NT21SP=0000IP=0043BP=0000 SI=0000 DI=0000NU UP EI PL NZ NA PO CVfiX=0219 BX=0019H)S=0B3C
7、ES0B2C 0B3F:0045 80E50FCX=1E04 DX=0019SS=0B3C CS0B3FANDCH,0FSP=0000 IP=0045BP=0000 SI=0000 DI=0000NU UP EI PL NZ NA PO CV以下是对的的反汇编内容0B3F:0000 B83C0B0B3F:0003 8ED80B3F:0005 B4010B3F:0007 CD210B3F:0009 8AE80B3F:000B B22A0B3F:000D B4020B3F:000F CD210B3F:0011 8AC50B3F:0013 2C300B3F:0015 8D1E02000B3F:001
8、9 D70B3F:001A 8AD00B3F:001C B4010B3F:001E CD21MOU MOU MOU I NT MOU MOU MOU I NT MOU SUB LEA XLAT MOU MOU I NTAX,0B3CDS, AXAH,01 21CH, ALDL,2AAH, 02 21AL,CHAL,30BX,00020B3F 0B3F 0B3F 0B3F 0B3F 0B3F 0B3F 0B3F 0B3F 0B3F 3B3F 0B3F 0B3F 0B3F 0B3F 0B3F:00202C30:0022D7:0023SADA:0025F6E3:0027A30000:002A8AD8
9、:002C8AE8:002EB23D:0030B402:0032CD21:0034Bl 04:0036D2EB:00388AC3:003A8D1E1900:003ED7:003F8AD0bauluuuuuturuaauULOUOOOOONOHOELOSXMMMMMMMIMSMLXMAL,30L 0LLD2 4LL0 D 0AA30 0CB * A, LL0LHLH1LLLX BBLBCDA2CBAB041 043 045 048 04A04B 04D 04F 051 053 055 057 059 05B 05D 05 EB402 CD21 80E50F 8AC5 D7 8AD0 B402 C
10、D21B248 B402 CD21B401 CD21 2301 2E 89365791MOU I NT AND MOUXLAT MOU MOUI NT MOU MOUI NT MOU I NT AND CS: MOUF 0LH1LH1H1XDA2DA2A2A以及储存器的最终状态-G=0 5B3*fi=lEHAX=010D BX=0019DS=0B3C ES=0B2C 0B3F:005B 2301-G=0 5B3*fi=lEHAX=010D BX=0019DS=0B3C ES=0B2C 0B3F:005B 2301D N4C ADX=0048CS=0B3F AX,SP=0000IP=005B B
11、X+DIBP=0000 SI=0000 DI=0000NU UP EI PL NZ NA PO NCDS:0019=3130以及内存的最终状态,其中000 0为SUM以3*A=1E为例,sum在第个单元内。0B3C:0000 IE 00 00 01 02 03 04 05-06 07 08 09 00 00 00 00 0B3C:0010 00 00 00 0A 0B 0C 0D 0E-0F 30 31 32 33 34 35 36 0123456 0B3C:0020 37 38 39 41 42 43 44 45-46 00 00 00 00 00 00 00 789ABCDEF 0B3C:
12、0030 B8 3C 0B 8E D8 B4 01 CD-21 8A E8 B2 2AB4 02 CD .0B3C:0040 21 8A C5 2C 30 8D IE 02-00 D7 8A D0 B4 01 CD 21 ?.,0 0B3C:0050 2C 30 D7 8A DA F6 E3 A3-00 00 8A D8 8A E8 B2 3D ,0= 0B3C:0060 B4 02 CD 21 Bl 04 D2 EB-8A C3 8D IE 19 00 D7 8A .? 0B3C:0070 DO B4 02 CD 21 80 E5 0F-8A C5 D7 8A D0 B4 02 CD 一开始
13、我编写了一个运用转移指令完毕的汇编程序,可以顺利将结果保存到AX,和sum如下:SS EG回SEGMENT STACKSTK DB 20DUP(0)SSEG ENDSDSEG0S E GMENTSUMDW ?DSEG0ENDSCSEGOSE GMENTASSUME C S : CSEG, DS: DSEG0 ASSUME0SS: SSEGSTART:MOV0AX,DSEG0MOV0DS,AX团 MOV0AX, S SEGMOV0SS,AX0 MOV0SP, LENGTH STK00MO V0AH, 01H团 INT 21H0 CMPAL,AJ AE ABOVE 10 SUB0AL; 0 酿MO
14、V BL,ALJMP0NEXT1A BOVE 1 : SUB AL/ A0A DD AL,100 MOV BL, ALN EXT1: BMOVaAH, 01HINT 2 1 HmCMPBAL, A回阻AEmABOVE200 SUB AL;O00JMP0NEXT2A BOV E2:0SUB AL,A0 ADDAL, 10NEXT2: MULBL00MoV S UM,AX晒MOV AH, 4 CH团 团MOVA L,0回回 INT02 1 HCSEG ENDS0 END0S TART1 1 0L 1AL0A0A00 4B3A140A 一,/ Al / 42 A ,UASXSPH1L0LL0LLL
15、ADASSA2A0AB0AABUUUUUUTPBBUPBDUOOOOOONMNUOMUDOMMMMMMICJSMJSAM-u0B3F:0000B83E0B0B3F:00038 EDS0B3F:0005B83C0B0B3F:00088ED00B3F:000ABC14000B3F:000DB4010B3F:000FCD210B3F:00113C410B3F:001373060B3F:00152C300B3F:00178AD80B3F:0019EB060B3F:001B2C410B3F:001D040A0B3F:001F8AD8以下是反汇编内容110 1A 0C0 0 4D3140 040 / A2
16、 / 0 / , H1L0L0LLL0HL1BP/06C7MICJSJSAMMMMIDS0B3F:0021 B4010B3F:0023CD210B3F:00253C410B3F:002773040B3F:00292C300B3F:002BEB040B3F:002D2C410B3F:002F040A0B3F:0031F6E30B3F:0033A300000B3F:0036B44C0B3F:0038B0000B3F:003ACD210B3F:003C3E0B3F:003D2B2EC706以下是输入及输出结果-P 3 RX=0133BX=0003CX=006CDX=0000SP=0014BP=000
17、0 SI=0000 DI=0000&)S=0B3EES=0B2CSS=0B3CCS=0B3FIP=0011 NU UP EI PL NZ NA PE NC0B3F:0011 3C41CMPAL,41AAX=0141BX=0003CX=006CDX=0000SP=0014BP=0000 SI=0000 DI=0000DDS=0B3EES=0B2CSS=0B3CCS=0B3FIP=0025 NU UP EI PL NZ NA PE NCBB3F:0025 3C41CMP AL,41fiX=001EBX=0003CX=006CDX=0000SP=0014BP=0000 SI=0000 DI=0000DS=0B3EES=0B2CSS=0B3CCS=0B3FIP=0033 NU UP EI PL NZ NA PE NC0B3F:0033 A30000MOU 【0000LAXDS:0000=0000即 3 *A=1E