日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

汇编语言程序设计实验报告

發布時間:2023/12/10 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 汇编语言程序设计实验报告 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

運行環境masmplus
鏈接:https://pan.baidu.com/s/1jWoLfvxBxQgxd6wq21GK0w
提取碼:ih43

目錄

  • 實驗1 匯編語言源程序的輸入
    • 實驗目的
    • 實驗原理
    • 實驗儀器
    • 實驗步驟
    • 實驗要求
  • 實驗2 數據的建立與傳送程序
    • 實驗目的
    • 實驗原理
    • 實驗儀器
    • 實驗步驟
    • 實驗要求
  • 實驗3 分支程序設計
    • 實驗目的
    • 實驗原理
    • 實驗儀器
    • 實驗步驟
    • 實驗要求
  • 實驗4 統計學生成績程序
    • 實驗目的
    • 實驗原理
    • 實驗儀器
    • 實驗步驟
    • 實驗要求
  • 實驗5 學生成績名次表實驗
    • 實驗目的
    • 實驗原理
    • 實驗儀器
    • 實驗步驟
    • 實驗要求

實驗1 匯編語言源程序的輸入

實驗目的

1.通過實驗了解和熟悉微機系統的配置。
2.學習在DEBUG狀態下輸入匯編源程序的方法。
3.初步掌握調試(在DEBUG狀態下)的過程。

實驗原理

1、本實驗要求在DEBUG狀態下輸入匯編源程序,并用DEBUG命令進行調試。用單步跟蹤的方法驗證指令的功能。
2、 以下是給定的參考程序,并在實驗時在每條指令的“;”符號右邊按要求填寫指令的執行結果。
注:
⑴ 微機進入DEBUG狀態下之后,一切立即數和地址數據均被默認為十六進制數,在輸入時數的后面不加后綴“H”;
⑵ 在DEBUG狀態下執行程序時,“INT 20H”指令可使系統執行完該指令前的程序時返回到“-”提示符狀態,并且恢復CS和IP寄存器原來的值。

實驗儀器

微機一臺。

實驗步驟

1、開機后進入DOS系統,
C > DEBUG↙ (↙回車符)
- (為DEBUG 提示符)
當顯示器出現提示符“-”時,說明已進入DEBUG狀態,這時,可用DEBUG命令進行操作。
2、 用DEBUG的Register命令檢查所有寄存器內容,并作記錄。命令格式:
R [寄存器名]
該命令的功能是顯示寄存器的內容,或修改某一指定寄存器內容,若[寄存器名]缺省,則顯示所有寄存器內容。例如:
-R
3、 用DEBUG的Assemble命令輸入匯編源程序。格式:
A [內存地址]
注:用“[ ]”符號括起來的部分表示可以省略。
該命令的功能是從指定的內存地址開始(括號不要輸入)逐條輸入匯編語言源程序并匯編成機器碼存入內存。若地址缺省,則接上一個A命令最后一條指令之后輸入匯編語句,若沒有用過A命令,則從CS:0100H地址開始輸入。例如:
-A
0CD3:0100-
在輸入A命令之后,或每輸入一條指令之后,顯示器的左端給出了內存的段地址和偏移地址。
每條指令均用回車(↙)結束。若輸入的指令有語法錯誤,DEBUG拒絕接收,并給出提示,此時可以重新輸入。程序的最后一條指令輸入完之后,再按一次回車鍵(↙),即可結束匯編命令,回到DEBUG提示符“-”狀態。
4、 用DEBUG的Unassemble命令反匯編。命令格式:
U [起始地址[終止地址]]
該命令的功能是從起始地址到終止地址反匯編目標碼,缺省值是接上一個U命令或從CS:0100H地址開始。例如:
-U
顯示器上將顯示程序的內存地址、指令機器碼的匯編源程序三列對照清單。
5、用DEBUG的Trace命令單步跟蹤程序。命令格式:
T 【=起始地址】【指令條數】
該命令的功能是從指定的起始地址開始逐條執行指令,每執行完一條指令,屏幕顯示所有寄存器內容和下一條指令地址和指令。若[=起始地址]缺省,則T命令從CS:IP地址開始執行指令。
例如:
-T↙
重復這一過程,即可看到每條指令執行后,所有寄存器和標志寄存器的標志位內容。此時,要檢查內存單元的數據,可用DEBUG的D命令。
6. 用DEBUG的Dump命令顯示存貯器單元的內容。命令格式:
D[起始地址[終止地址]]
該命令的功能是從起始地址到終止地址,連續顯示存貯器單元的內容。若地址缺省,則接上一個D命令或從DS:0100H地址開始顯示。例如:
-D↙
參考程序:
MOV AX, 2000 ; AL=00H
MOV DS, AX ; DS=2000H
NOT AX ; AX=0DFFFH
XOR AX, AX ; AX=0000H
DEC AX ; AX=0FFFFH
INC AX ; AX=0000H
MOV BX, 2030 ; BH=20H
MOV SI, BX ; SI=2030H
MOV [SI], BL ; [2030H]=30H
MOV WORD PTR[SI], 10F ; [2030H]=0FH [2031H]=01H
MOV DI, SI ; DI=2030H
MOV [DI+50], BH ; [DI+50H]=20H
MOV BH, [SI] ; BH=0FH
MOV BL, [DI+50] ; BL=20H
MOV SP, 5000
PUSH AX ; AX=0000H [SS:4FFEH]=00H [SS:4FFFH]=00H
PUSH BX ; BX=0F20H [SS:4FFCH]=20H [SS:4FFDH]=0FH
POP AX ; AX=0F20H
POPF ; F=00000000
NEG BX ; BX=F0E0H
XCHG BX, AX ; BX=0F20H
STD ; F=01010001
STI ; F=01110001
CLD ; F=00110001
CLI ; F=00010001
ADC DI, 2050 ; DI=4081H F=00000010
ADC SP, DI ; SP=9081H F=10010010
ADC AX, 1500 ; AX=05E0H F=00000001
SUB AX, BX ; AX=F6C0H BX=0F20H
SHL AH, 1 ; AH=ECH
RCL AX, 1 ; AX=D981H
SHR BH, 1 ; BH=07H
RCR BL, 1 ; BL=90H
MOV CL, 4
MOV DX, 80F0
ROL DX, CL ; DX=0F08H CL=04H
INT 20 ; CS= F000H IP=1480H

實驗要求

1、整理每條指令執行的結果,填到打印清單的右半部分(應注意內存數據檢查的正確性)。
結果如上述表格所示。
2. 比較實驗記錄與理論分析的結果是否相同,若有不同,找出差別及問題所在。
實驗記錄和理論分析結果是相同的。
3.總結本次實驗的體會。
主要學習了在DEBUG狀態下輸入匯編源程序的方法以及調試過程。當顯示器出現提示符“-”時,用 DEBUG 命令進行操作,-r是顯示寄存器的內容,輸入匯編源程序用-a,單步執行用-t, 顯示存貯器單元的內容用-d.

實驗2 數據的建立與傳送程序

實驗目的

1、繼續學習DEBUG命令。
2、驗證指令的功能。

實驗原理

在DEBUG狀態下,分別輸入下面各程序段,每輸入完一個程序段,用G命令進行連續方式執行程序,在連續執行時,要記錄程序的執行結果。
參考程序:
1. 在內存10000H單元開始,建立00H~0FH~00H 31個數,要求00H~0FH數據逐漸增大,0FH~00H逐漸減小。該程序從內存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命令匯編輸入時,可以看到程序全部運行完之后,可用DEBUG的Dump命令查看建立的數據塊內容。例如:
-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
INT 20H
檢查內存數據塊的傳送情況,可用“D”命令。

(b) 用串傳送指令MOVSB,把數據塊傳送到15150H開始的區域,該程序從內存CS:0200H開始輸入。
檢查程序最后的執行結果,可用“D”命令,例如:
-D1000:5150↙

? 用重復串操作指令“REP MOVSB”把數據塊傳送到15250H開始的區域。該程序從CS:250H地址開始輸入。
檢查程序的最后執行結果時,可用:
-D1000: 5250H

(d) 用串操作的減量工作方式,把數據塊傳送到25050H開始的區域。該程序從CS:0300H開始輸入。
檢查程序的最后執行結果,用D命令:
-D2000:5050↙

實驗儀器

微機一臺。

實驗步驟

參照實驗一的步驟,按照本實驗程序的內容,分別輸入各段程序,連續執行程序,記錄每個程序段的最后結果。若想把源數據塊重新換一批數據,可以用DEBUG的Fill命令填充新的數據。例如:
-F1000:00 L1F 33↙
從1000:0000H開始的31個字節被替換成33H。

實驗要求

預習要求:
1.認真閱讀DEBUG調試程序的命令說明。
2.仔細閱讀本實驗給出的程序段。
3.寫出每個程序段的結果數據(分析結果),并說明結果所在的位置(寄存器或存貯器)。
報告要求:
1、整理每個程序段在實驗時的記錄內容。
如上圖所示。
2、 比較每個程序段的特點。
第一個程序執行完后,即已經存入數據,第二個程序采用了四種方式將它的執行結果傳送到了指定的區域,不論是串操作指令,重復串操作指令,串操作的減量工作方式,都精確的傳送到了指定的區域。
3、分析本次實驗出現的問題,找出問題所在。
本次實驗進行時,出現了用g命令運行死掉的情況,int20h 來結束程序有要求的,就時棧頂必須是 psp:0000 向量,最后我直接用 g=100 107 直接在需要的功能后停下來,就解決了問題。

實驗3 分支程序設計

實驗目的

⒈、練習分支程序的編寫方法。
⒉、練習匯編語言程序的上機過程。

實驗原理

⒈、通過分支程序設計調試和運行,進一步熟悉掌握匯編程序執行的軟件環境。
⒉、通過分支程序的執行過程,熟悉EDIT的使用,建立OBJ文件EXE文件的方法。

實驗儀器

⒈、 微機一臺。

實驗步驟

1.給出三個有符號數,編寫一個比較相等關系的程序:
(1)如果這三個數都不相等,則顯示0;
(2)如果這三個數中有兩個數相等,則顯示1;
(3)如果這三個數都相等,則顯示2;
源程序如下:

.model small.stack.data ;給出三個數據msgst db 'input three number:',0dh,0ah,'$'var1 db ?var2 db ?var3 db ?temp db ?msg0 db '0$'msg1 db '1$'msg2 db '2$'.code.startupmov dx,offset msgstmov ah,9int 21h ;顯示提示信息call readsiw ;第一個數mov al,tempmov var1,alcall readsiw ;第二個數mov al,tempmov var2,alcall readsiw ;第三個數mov al,tempmov var3,almov al,var1cmp al,var2 ;12je equal ;如果相等,跳轉jnz again equal: cmp al,var3 ;23je second ;1=2 2=3jnz first ;1=2 2!=3 again: ;1!=2mov al,var1cmp al,var3je first ;1=3jnz again1 ;1!=3 again1:mov al,var2cmp al,var3je firstjnz zonejmp done zone:mov dx,offset msg0jmp done first:mov dx,offset msg1jmp done second:mov dx,offset msg2jmp done done:mov ah,9int 21h.exit readsiw procpush ax ;保護寄存器push bxpush cxxor bx,bx ;bx保存結果xor cx,cx ;cx為正負標志,0為正,-1為負,默認為正 rsiw0: mov ah,1 ;輸入第一個字符,正號或者負號int 21hcmp al,'+' jz rsiw1 ;如果是正,cx原本就是0,向下繼續輸字符,zf=1跳轉cmp al,'-' jnz rsiw2 ;如果不是負,則輸入的不對mov cx,-1 ;輸入的是負數,設置cx=-1 rsiw1:mov ah,1int 21h rsiw2:cmp al,'0' ;不是09之間數碼,結束jb rsiw3 ;低于0cmp al,'9'ja rsiw3 ;高于9sub al,30h ;09之間的數碼,轉換,字符0的ascii碼是30Hxor ah,ah ;AL零位擴展為AXshl bx,1shl bx,1add bx,dxadd bx,ax ;原數乘10后,與新數碼相加jmp rsiw1 ;繼續轉換下一個數位 rsiw3:cmp cx,0 ;判斷是正數還是負數jz rsiw4 ;是正數,跳轉neg bx ;是負數,進行求補 rsiw4: mov temp,bl ;設置出口參數pop cxpop bxpop axret ;子程序返回 readsiw endpend

執行結果:


2.從鍵盤上輸入一串字符到輸入緩沖區,找出其中的大寫字母和小寫字母,并分別統計它們的個數,結果放到變量num1和num2中,要求在屏幕輸出顯示所有字母及變量num1和num2的值。
源程序如下:

data segmentmsg db 'please input string:$' ;緩沖區定義buf1 db 81 ;緩沖區第零個字節,申請的存放數據的緩沖區的字節數db ? ;緩沖區第一個字節,實際存放的字符個數db 81 dup(0) ;存放數據的81個字節初始全為0;用戶從鍵盤輸入的字符從第2個字節開始存放,直到用戶輸入回車鍵為止,并將回車鍵碼(0DH)加在剛才輸入字符串的末尾上buf2 db 81 dup(0)crlf db 0ah,0dh,'$'msg0 db 'The String is:','$'msg1 db 'The number of Capital is:','$'num1 db 30h,0ah,0dh,'$' ;保存大寫字母個數msg2 db 'The number of Lowercase is:','$'num2 db 30h,'$' ;保存小寫字母個數 data ends stack segment stack ends code segmentassume cs:code,ds:data,ss:stack ;code段和cs這個段寄存器相關聯 start:mov ax,data ;初始化數據段寄存器的值mov ds,ax ;執行完,ds保存的是數據段的段基地址lea dx,msg ;取msg偏移地址mov ah,9int 21h ;輸入提示信息lea dx,buf1 ;接收輸入的字符串mov ah,10int 21hlea dx,crlfmov ah,9int 21hmov al,buf1+1 ;buf1+1是輸入的字符個數mov ah,0mov cx,ax ;cx是循環變量xor si,siadd si,02hlea di,buf2 ;DI指向字符串變量BUFB again:mov al,buf1[si]mov [di],alcmp al,'A' ;A~Z 41h~5Ah a~z 61h~7Ahjb next1 ;低于A,直接結束,讀取下一個字符cmp al,'Z' ;和Z比較,低于它就是大寫字母ja next2 ;再跳轉判斷是否是小寫字母inc num1 ;是大寫字母jmp next1 next2:cmp al,'z' ;低于a或者高于z,直接結束ja next1cmp al,'a'jb next1inc num2 next1:inc siinc diloop againlea dx,crlfmov ah,9int 21hlea dx,msg0 ;輸出所有字符提示信息mov ah,9int 21hlea dx,buf2 ;輸出所有字符mov ah,9int 21hlea dx,msg1 ;大寫字符提示信息mov ah,9int 21hlea dx,num1 ;大寫字符數mov ah,9int 21hlea dx,crlfmov ah,9int 21hlea dx,msg2 ;小寫字符提示信息mov ah,9int 21hlea dx,num2 ;小寫字符數mov ah,9int 21hlea dx,crlfmov ah,9int 21hmov ah,4chint 21h code ends end start

執行結果:

實驗要求

1.該源程序在DEBUG和EDIT兩種狀態下運行。
2. 實驗報告中要有源程序和執行結果。

實驗4 統計學生成績程序

實驗目的

進一步掌握分支程序和循環程序的編寫方法。

實驗原理

設有10個學生的成績分別為56、69、84、82、73、88、99、63、100和80分。試編制程序分別統計低于60分、60~69分、70~79分、80~89分、90~99分及100分的人數存放到s5、s6、s7、s8、s9及s10單元中。
這一題目的算法很簡單,成績分等部分采用分支結構,統計所有成績則用循環結構完成。程序框圖如下圖所示。

實驗儀器

1、 微機一臺。

實驗步驟

參考給的流程圖編寫源程序,進行調試。
流程圖如下:

程序如下:

;PROGRAM TITLE GOES HERE――result ;************************************ DATAREA SEGMENT ;DEFINE DATA SEGMENTGRADE DW 56,69,84,82,73,88,99,63,100,80S5 DW 0S6 DW 0S7 DW 0S8 DW 0S9 DW 0S10 DW 0 DATAREA ENDS ;************************************ PROGNAM SEGMENT ;DEFINE CODE SEGMENT ;---------------------------- MAIN PROC FAR ; MAIN PART OF PROGRAM ASSUME CS:PROGNAM, DS:DATAREA START: ; STARTING EXECUTION ADDRESS ; SET UP STACK FOR RETURNPUSH DS ; SAVE OLD DATA SEGMENTSUB AX,AX ; PUT ZERO IN AXPUSH AX ; SAVE IT ON STACK ; SET DS REGISTER TO CURRENT DATA SEGMENTMOV AX,DATAREA ; DATAREA SEGMENT ADDRMOV DS,AX ; INTO DS REGISTER ; MAIN PART OF PROGRAM GOES HEREMOV S5, 0 ; INITIALIZE COUNTERMOV S6, 0MOV S7, 0MOV S8, 0MOV S9, 0MOV S10, 0MOV CX, 10 ; INITIALIZE LOOP COUNT VALUEMOV BX, OFFSET GRADE ; INITIALIZE FIRST ADDR COMPARE:MOV AX,[BX] ; GET A RESULTCMP AX, 60 ; <60?JL FIVECMP AX, 70 ; <70?JL SIXCMP AX, 80 ; <80?JL SEVENCMP AX, 90 ; <90?JL EIGHTCMP AX, 100 ; =100?JNE NINEINC S10JMP SHORT CHANGE_ADDR NINE: INC S9JMP SHORT CHANGE_ADDR EIGHT: INC S8JMP SHORT CHANGE_ADDRSEVEN: INC S7JMP SHORT CHANGE_ADDRSIX: INC S6JMP SHORT CHANGE_ADDRFIVE: INC S5 CHANGE_ADDR:ADD BX, 2LOOP COMPARERET ; RETURN TO DOS MAIN ENDP ; END OF MAIN PART OF PROGRAM ; ------------------------------ PROGNAM ENDS ;***************************END START ; END ASSEMBLY

實驗要求

1.讀懂所給的程序。
2.編寫將存放于S5、S6、S7、S8、S9及S10單元中的數據在屏幕上顯示出來的部分程序。
編寫的程序:
在S10與datarea ends之間定義了輸出的提示信息:

n1 db 'S5=$'n2 db 'S6=$'n3 db 'S7=$'n4 db 'S8=$'n5 db 'S9=$'n6 db 'S10=$'crlf db 0dh,0ah,'$'

在loop compare與ret之間進行輸出:

mov dx,offset n1 ;輸出s5 mov ah,9 int 21h mov dx,s5 add dx,30h mov ah,2 int 21h mov dx,offset crlf mov ah,9 int 21h mov dx,offset n2 ;輸出s6 mov ah,9 int 21h mov dx,s6 add dx,30h mov ah,2 int 21h mov dx,offset crlf mov ah,9 int 21h mov dx,offset n3 ;輸出s7 mov ah,9 int 21h mov dx,s7 add dx,30h mov ah,2 int 21h mov dx,offset crlf mov ah,9 int 21h mov dx,offset n4;輸出s8 mov ah,9 int 21h mov dx,s8 add dx,30h mov ah,2 int 21h mov dx,offset crlf mov ah,9 int 21h mov dx,offset n5;輸出s9 mov ah,9 int 21h mov dx,s9 add dx,30h mov ah,2 int 21h mov dx,offset crlf mov ah,9 int 21h mov dx,offset n6;輸出s10 mov ah,9 int 21h mov dx,s10 add dx,30h mov ah,2 int 21h

輸出的信息如下:

實驗5 學生成績名次表實驗

實驗目的

進一步熟悉排序方法。

實驗原理

將0~100之間的10個成績存入首址為1000H的單元中。1000H+i表示學號為i的學生成績,編寫程序能在2000H開始的區域排出名次表。2000H+i為學號i的學生的名次。
參考主程序:


程序SCAN:

實驗儀器

1、微機一臺。

實驗步驟

1.參考流程圖編寫實驗程序,進行調試。
2.記錄實驗結果。
3.寫出標準實驗報告。

實驗要求

源程序如下:

CRLF MACRO MOV AH, 02H MOV DL, 0DH INT 21H MOV AH, 02H MOV DL, 0AH INT 21H ENDM DATA SEGMENT res db 'The sorted result is:',0dh,0ah,'$' STUNUM EQU 10 MESS DB ' INPUT 10 STUDENTS SCORE: ',0DH,0AH,'$' ERROR DB ' INPUT ERROR!',0DH,0AH,'$'ORG 1000H SCORE DB 10 DUP (?)ORG 2000H SEQU DB 10 DUP (?) DATA ENDS STACK SEGMENT STA DW 12 DUP (?) TOP DW ? STACK ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX, DATAMOV DS, AXMOV ES, AXMOV SP, TOP ; 初始化MOV AH, 09HMOV DX, OFFSET MESSINT 21H ; 顯示提示信息MOV SI, OFFSET SCORE ; 成績表首址MOV CX, STUNUM ; 學生數送CX UUU: CALL GETNUM ; 讀取鍵入數值送DXMOV [SI], DL ; 存入成績表緩沖區INC SI ; 指向下一單元LOOP UUUMOV CX, STUNUM ; 學生數MOV DI, OFFSET SEQU ; 名次表首址mov dx,offset res;輸出提示信息mov ah,9int 21h VVV: CALL SCAN ; 掃描子程序MOV AL, STUNUM ; 學生數SUB AL, CLINC AL ; 計算名次MOV BX, DX MOV [DI+BX], AL ; 記DX學號對應名次LOOP VVVMOV CX, STUNUM ; 學生數MOV SI, OFFSET SEQU ; 名次表首址 WWW: MOV AL, [SI]CALL DISP1CRLFINC SILOOP WWW ; 顯示排定的學生名次MOV AX, 4C00HINT 21H SCAN PROC NEAR ; 子程序,每掃描一遍成績表緩沖區, 找出其中成績最高者由DX指針指示對應學生 之后將該成績清除,以便下一次掃描 PUSH CX MOV CX, STUNUM ;學生數 MOV AL, 00H ;最低成績 MOV BX, OFFSET SCORE MOV SI, BX ;指向成績表首址 CCC: CMP AL, [SI] JAE JJJ ;AL中的成績不低于成績表指針SI所指單元的成績則轉JJJMOV AL, [SI] ;AL存放較高的成績MOV DX, SI SUB DX, BX ;DX為對應學號 JJJ: INC SI ;指向下一單元LOOP CCCADD BX, DX MOV BYTE PTR[BX], 00H ;本次掃描成績最高者清0 POP CXRET SCAN ENDP DISP1 PROC NEARPUSH CXMOV BL, ALMOV DL, BLMOV CL, 04ROL DL, CLAND DL, 0FHCALL DISPLMOV DL, BLAND DL, 0FHCALL DISPLPOP CXRET DISP1 ENDP DISPL PROC NEARADD DL, 30HCMP DL, 3AHJB DDDADD DL, 27H DDD:MOV AH, 02HINT 21HRET DISPL ENDP GETNUM PROC NEARPUSH CXXOR DX, DX GGG: MOV AH, 01HINT 21HCMP AL, 0DHJZ PPPCMP AL, 20HJZ PPPSUB AL, 30HJB KKKCMP AL, 0AHJB GETSCMP AL, 11HJB KKKSUB AL, 07HCMP AL, 0FHJBE GETSCMP AL, 2AHJB KKKCMP AL, 2FHJA KKKSUB AL, 20H GETS: MOV CL, 04SHL DX, CLXOR AH, AHADD DX, AXJMP GGG KKK: MOV AH, 09HMOV DX, OFFSET ERRORINT 21H PPP: PUSH DX POP DXPOP CXRET GETNUM ENDP CODE ENDS END START

執行結果:

總結

以上是生活随笔為你收集整理的汇编语言程序设计实验报告的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。