版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
匯編實驗實驗一順序與分支程序設計一、實驗目的掌握順序程序設計方法。掌握分支程序的結構及分支程序的設計,調試方法。2)學習數(shù)據(jù)傳送及算術和邏輯運算指令的用法。3)熟悉在PC機上建立、匯編、連接、調試和運營匯編語言程序的過程。二、實驗內容1)有一字變量BUF1是以原碼表達的有符號數(shù),規(guī)定將其轉換為反碼和補碼,分別存入BUF2和BUF3單元,并在屏幕上顯示出來。2)有兩個兩字節(jié)無符號數(shù)分別放在存儲單元A、B起始的緩沖器中,求其和,結果放在A起始的緩沖區(qū)并在屏幕上顯示。相加若有進位不存入存儲單元。?3)在BUF和BUF+1、BUF+2單元分別放有一個無符號字節(jié)型數(shù),編程序將其中最大數(shù)存入MAX單元,并在屏幕上顯示。?4)規(guī)定同上,只是比較的數(shù)為有符號數(shù)。5)將1000H單元開始的10個字節(jié)數(shù),采用奇偶校驗,將奇數(shù)在前偶數(shù)在后仍存回原數(shù)據(jù)區(qū)。本實驗規(guī)定在DEBUG調試狀態(tài)下進行,涉及匯編程序、運營程序、檢查結果。6)從鍵盤上接受一位十進制數(shù)X,計算Y值,并以十六進制形式顯示出來,Y按下列公式計算。7)從鍵盤上接受兩個一位十六進制數(shù)X和Y,然后再輸入一個A-D之間的一個字符,按下列規(guī)定計算。當輸入字符為A,則計算X+Y,并以十六進制形式顯示出來當輸入字符為B,則計算|X-Y|,并以十六進制形式顯示出來當輸入字符為C,則計算X*Y,并以十六進制形式顯示出來當輸入字符為D,則計算X/Y,并以十六進制形式顯示出來三、實驗設備PC機一臺四、實驗準備1)分析題目,將程序中的原始數(shù)據(jù)和最終結果的存取方法擬定好。2)畫出流程圖。3)寫出源程序。4)對程序中的結果進行分析,并準備好上機調試與用匯編程序及匯編調試的過程。五、實驗環(huán)節(jié)1)輸入源程序。2)匯編、連接程序,生成.EXE文獻,執(zhí)行文獻,檢查結果。六、實驗報告的規(guī)定1)列出源程序,說明程序的基本結構,涉及程序中各部分的功能。2)說明程序中各部分所用的算法。3)說明重要符號和所用到寄存器的功能。?4)總結為什么在設計分支程序時必須解決三個問題:判斷、轉向和定標號。5)說明標志位CF、SF和OF的意義。6)上機調試過程中碰到的問題是如何解決的。7)對調試源程序的結果進行分析。Exam1:DATA
SEGMENT;數(shù)據(jù)段BUF1
DW
7898HBUF2
DW
4
DUP(0),0AH,0DH,'$'BUF3
DW
4
DUP(0),'$'DATA
ENDS;數(shù)據(jù)段結束CODE
SEGMENT;代碼段
ASSUME
CS:CODE,DS:DATA;段寄存器關聯(lián)說明偽指令BEGIN:
MOV
AX,DATA
MOV
DS,AX;將數(shù)據(jù)段的基地址裝入數(shù)據(jù)段寄存器DS
MOV
AX,BUF1;將字型變量BUF1的值裝入AX寄存器
ADD
AX,0;AX寄存器里的數(shù)據(jù)加0,以便進行轉移測試
JS
NEXT;判斷(AX)的正負,若為負則轉到NEXT,為正則往下順序執(zhí)行。
MOV
BUF2,AX;為正,反碼與原碼同樣
MOV
BUF3,AX;為正,補碼與原碼同樣
JMP
EEENEXT:AND
AX,7FFFH;將符號位變?yōu)?
NOT
AX;求反碼
MOV
BUF2,AX;將BUF1的反碼裝入BUF2
INC
AX;求補碼
MOV
BUF3,AX;將補碼裝入BUF3EEE:MOV
CX,0004H;將0004H裝入CX計數(shù)器寄存器中
MOV
DI,OFFSET
BUF2;將DI指向變量BUF2開始的存儲單元
MOV
DX,
[DI];將DI所指的數(shù)據(jù)裝入DX寄存器中
ADD
DI,03;將DI指針下移三個字BBB:MOV
AX,DX;將DX中的內容裝入AX寄存器中
AND
AX,000FH;即使BUF2的低四位不變,其余均變?yōu)?
CMP
AL,0AH;比較[AL]與0AH的大小,以便能對的轉換為0-9的ASCII值
JB
QQQ;若[AL]<0AH,則轉到QQQ,否則,順序執(zhí)行
ADD
AL,07H;由于[AL]>0AH,所以[AL]+07H,使得AL能轉換成相應數(shù)字的ASCII值QQQ:ADD
AL,30H;將[AL]轉換成相應數(shù)字的ASCII值
MOV
[DI],AL;將AL中的內容裝入以DS中的內容為段基地址,以DI的內容為偏移地址的存儲單元中
DEC
DI;DI=DI-1,即將DI指向前一個存儲單元
PUSH
CX;保存CX寄存器的內容
MOV
CL,04H;給CL寄存器賦值為04H
SHR
DX,CL;將[DX]邏輯右移四位
POP
CX;恢復CX寄存器的內容
LOOP
BBB;循環(huán)判斷語句,CX=CX-1,若CX不等于0,則轉到BBB,將下一個低四位存入存儲單元中,否則循環(huán)結束
MOV
CX,0004H;給CX寄存器賦值為0004H
MOV
SI,OFFSET
BUF3;將SI指向變量BUF3開始的存儲單元
MOV
DX,[SI];將SI所指的數(shù)據(jù)裝入DX寄存器中
ADD
SI,03H;將DI指針下移三個字CCC:MOV
AX,DX;將DX中的內容裝入AX寄存器中
AND
AX,000FH;即使BUF3的低四位不變,其余均變?yōu)?
CMP
AL,0AH;比較[AL]與0AH的大小,以便能對的轉換為0-9的ASCII值
JB
DDD;若[AL]<0AH,則轉到DDD,否則,順序執(zhí)行
ADD
AL,07H;由于[AL]>0AH,所以[AL]+07H,使得AL能轉換成相應數(shù)字的ASCII值DDD:ADD
AL,
30H;將[AL]轉換成相應數(shù)字的ASCII值
MOV
[SI],AL;將AL中的內容裝入以DS中的內容為段基地址,以SI的內容為偏移地址的存儲單元中
DEC
SI;SI=SI-1,即將SI指向前一個存儲單元
PUSH
CX;保存CX寄存器的內容
MOV
CL,
04H;給CL寄存器賦值為04H
SHR
DX,
CL;將[DX]邏輯右移四位
POP
CX;恢復CX寄存器的內容
LOOP
CCC;循環(huán)判斷語句,CX=CX-1,若CX不等于0,則轉到CCC,將下一個低四位存入存儲單元中,否則循環(huán)結束
MOV
DX,
OFFSET
BUF2;將BUF2的偏移地址裝入DX寄存器中
MOV
AH,09H
INT
21H;在屏幕上顯示BUF1的反碼
MOV
DX,OFFSET
BUF3
MOV
AH,09H
INT
21H;在屏幕上顯示BUF1的補碼
MOV
AH,4CH
INT
21H;帶返回碼終止
CODE
ENDS
END
BEGINExam2:DATA
SEGMENT;數(shù)據(jù)段A
DB
34H,18H,2
DUP(0),
'$';定義字節(jié)型變量,其后的每操作數(shù)都占有一個字節(jié)B
DB
56H,
83H;定義字節(jié)型變量,其后的每操作數(shù)都占有一個字節(jié)DATA
ENDS;數(shù)據(jù)段結束CODE
SEGMENT;代碼段ASSUME
CS:CODE,
DS:DATASTART:MOV
AX,DATAMOV
DS,
AX;將數(shù)據(jù)段基地址裝入數(shù)據(jù)段寄存器DSMOV
AL,
A;將A所指的數(shù)裝入AL寄存器中MOV
BL,
B;將B所指的數(shù)裝入BL寄存器中ADD
AL,
BL;AL+BL->ALMOV
AH,
A+1;將A所指的下一個字節(jié)的數(shù)據(jù)裝入AHMOV
BH,
B+1;將B所指的下一個字節(jié)的數(shù)據(jù)裝入BHADC
AH,BH;AH與BH進行帶進位加法MOV
A,AL;將第一個無符號數(shù)的相加結果放在以A起始的緩沖區(qū)MOV
A+1,AH;將第二個無符號數(shù)的相加結果放在以A+1起始的緩沖區(qū)MOV
CX,0014H;以下是將數(shù)據(jù)轉換為相應的ASCII值MOV
DI,
OFFSETAMOV
DX,
[DI]ADD
DI,
03NEXT:MOV
AX,DXAND
AX,000FHCMP
AL,0AHJB
QQQADD
AL,07HQQQ:ADD
AL,30HMOV
[DI],
ALDEC
DIPUSH
CXMOV
CL,
14SHR
DX,
CLPOP
CXLOOP
NEXTMOV
DX,
OFFSET
AMOV
AH,09HINT
21H;在屏幕上顯示結果MOV
AH,4CHINT
21H;帶返回碼終止CODE
ENDSEND
STARTExam3:STACK
SEGMENT
STACK;堆棧段DB
1000
DUP(0);定義其后的每個操作數(shù)都占有一個字節(jié)STACK
ENDS;堆棧段結束DATA
SEGMENT;數(shù)據(jù)段BUF
DB72H,34H,1FH;定義字節(jié)型變量,其后的每操作數(shù)都占有一個字節(jié)MAX
DB
2
DUP
(?),
'$';定義字節(jié)型變量,其后的每操作數(shù)都占有一個字節(jié)DATA
ENDS;數(shù)據(jù)段結束CODE
SEGMENT;代碼段ASSUME
CS:CODE,DS:DATA,SS:STACKBEGIN:
MOV
AX,
DATAMOV
DS,
AX;將數(shù)據(jù)段基地址裝入數(shù)據(jù)段寄存器DSMOV
AL,
BUF;將BUF所指向的一個字節(jié)數(shù)據(jù)裝入ALCMP
AL,
BUF+1;比較BUF與BUF+1大小JNB
LP1;假如BUF不小于BUF+1,則轉到lp1,否則順序向下執(zhí)行MOV
AL,
BUF+1;將BUF+1所指向的一個字節(jié)數(shù)據(jù)裝入ALLP1:
CMP
AL,
BUF+2;將BUF和BUF1中較大的一個和BUF+2比較大小JAE
LP2;假如BUF2小,則轉到lp2,否則執(zhí)行順序向下執(zhí)行MOV
AL,
BUF+2;此時BUF2為三個數(shù)中最大的一個,將最大數(shù)裝入AL寄存器中LP2:
MOV
CX,
04H;以下是將輸出的最大數(shù)轉換為相應的ASCII值MOV
DI,
OFFSET
MAXMOV
DL,
ALINC
DILP3:
AND
AL,
0FHCMP
AL,
0AHJB
LP4ADD
AL,
07HLP4:
ADD
AL,
30HMOV
[DI],ALDEC
DIPUSH
CXMOV
CL,
03HSHR
DL,
CLPOP
CXMOV
AL,
DLLOOP
LP3MOV
DX,
OFFSET
MAXMOV
AH,
09HINT
21HMOV
AH,
4CHINT
21HCODE
ENDSEND
BEGIN?Exam4:STACK
SEGMENT
STACKDB1000
DUP(0)STACK
ENDSDATA
SEGMENTBUFDB
98H,
75H,
32HMAX
DB4
DUP(?),
'$'DATA
ENDSCODE
SEGMENTASSUMECS:CODE,DS:DATA,SS:STACKBEGIN:
MOV
AX,DATAMOV
DS,
AXMOV
AL,
BUFCMP
AL,
BUF+1JG
LP1;JG為比較兩個有帶符號數(shù)的大小,比較BUF和BUF1的大小,若BUF>BUF1,則跳轉到lp1繼續(xù)執(zhí)行,否則順序向下執(zhí)行XCHG
AL,
BUF+1;互換AL寄存器中的內容和BUF1,使AL寄存器中存放BUF和BUF1中較大的一個LP1:
MOV
MAX,
ALJGElp2 ?;比較兩個帶符號數(shù),假如BUF2小,則轉到lp2,否則執(zhí)行順序向下執(zhí)行MOVAL,BUF+2?Lp2:MOVMAX,AL??;以下是將輸出的最大數(shù)轉換為相應的ASCII值,與1)題相同MOV
CX,
04HMOV
DI,
OFFSET
MAXMOV
DL,
[DI]INC
DILP3:
MOV
AL,
DLAND
AL,
0FHCMP
AL,
0AHJB
LP4ADD
AL,
07HLP4:
ADDAL,
30HMOV
[DI],
ALDEC
DIPUSH
CXMOV
CL,
02SHR
DX,
CLPOP
CXLOOP
LP3MOV
DX,
OFFSET
MAXMOV
AH,
09HINT
21HMOV
AH,
4CHINT
21HCODE
ENDSEND
BEGIN實驗二循環(huán)與子程序程序設計一、實驗目的1)加深對循環(huán)結構的理解。2)掌握循環(huán)程序的設計方法。3)學習子程序的定義和調用方法。4)掌握子程序、子程序的嵌套、遞歸子程序的結構。5)掌握子程序設計、編制及調試。 6)純熟掌握DEBUG的常用命令,學會用DEBUG調試程序。二、實驗內容1)編制程序計算S=1+2·3+3·4+4·5+……+N(N+1)+……直到N(N+1)大于200為止,并將結果由屏幕上顯示出來。2)將從3000H內存單元開始的100個字節(jié)存儲單元所有清0。3)編制在屏幕上顯示九九乘法表的程序。4)編制在屏幕上顯示用*組成的三角形的程序。5)設有五個字數(shù)據(jù)存放在以BUF為首地址的內存單元中,規(guī)定采用調用多個字數(shù)據(jù)相加的子程序方法編程,和的低位字放在RESULT單元,和的高位字放在RESULT+2單元,并將結果顯示在屏幕上。6)編寫一個遞歸子程序,計算指數(shù)函數(shù)Xn的值,其中X,n從鍵盤輸入。三、實驗設備PC機一臺四、實驗環(huán)節(jié)1)按程序流程圖編制實驗程序。2)輸入源程序。3)匯編、連接程序,執(zhí)行程序,檢查結果。4)對內存單元3000H開始的100個存儲單元用E命令輸入任意數(shù)。5)程序的執(zhí)行可用DEBUG的G命令,也可用T命令單步跟蹤執(zhí)行。6)用D命令檢查執(zhí)行結果。五、實驗報告的規(guī)定列出源程序。2)對程序中用到的寄存器說明其功能。3)總結計數(shù)控制循環(huán)程序的設計方法。?4)說明如何使用DEBUG進行程序調試的。調試過程中所碰到的問題是如何解決的。、Exam1:DATASEGMENTBUFDB’S=1+2×3+3×4+4×5+…+N(N+1)+…=’,’$’RESDW4DUP(0),’$’DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,OFFSETBUFMOVAH,09HINT21HMOVDX,1MOVBL,2NEXT:MOVAL,BLINCBLMULBLADDDX,AXCMPAX,200JNANEXTMOVCX,0004HMOVDI,OFFSETRESADDDI,03HNEXT1:MOVAX,DXANDAX,000FHCMPAL,0AHJBNEXT2ADDAL,07NEXT2:ADDAL,30HMOV[DI],ALDECDIPUSHCXMOVCL,04SHRDX,CLPOPCXLOOPNEXT1MOVDX,OFFSETRESMOVAH,09HINT21HMOVAH,4CHINT21HCODEENDSENDSTARTExam3:DATASEGMENT
ATAD
DB?,2AH,?,3DH,?,?,20H,'$'
ATAD1DB?,2AH,?,3DH,?,?,0DH,0AH,'$'DATAENDS
STACKSEGMENTSTACK
DB20HDUP(0)STACKENDS
CODESEGMENT
ASSUMECS:CODE,DS:DATASTART:
MOVAX,DATA
MOVDS,AX
MOVCL,09H
MOVBL,00HOKL:
MOVAL,00H
INCBLOK1:
INCAL
PUSHAX
CMPBL,AL
JZOK
MOVBH,AL
MULBL
MOVDI,OFFSETATAD
CALLOKP
POPAX
JMPOK1OK:
MOVBH,AL
MULBL
MOVDI,OFFSETATAD1
CALLOKP
POPAX
LOOPOKL
MOVAH,4CH
INT21HOKPPROC
PUSHAX
PUSHBX
PUSHCX
ADDBX,3030H
MOV[DI],BH
MOV[DI+02H],BL
MOVCX,0AH
MOVDH,00HOKL2:
CMPAX,CX
JSOK2
ADDCX,0AH
INCDH
JMPOKL2OK2:
SUBCX,0AH
SUBAX,CX
MOVAH,DH
ADDAX,3030H
MOV[DI+04H],AH
MOV[DI+05H],AL
MOVDX,DI
MOVAH,09H
INT21H
POPCX
POPBX
POPAX
RETOKPENDPCODEENDSENDSTARTExam4:CODESSEGMENTASSUMECS:CODESSTART:
XORBX,BX
MOVDL,2AH
MOVCX,9LOP:
PUSHCX
INCBL
MOVCL,BL
MOVDL,2AHLOP2:
MOVAH,02H
INT21H
LOOPLOP2
POPCX
MOVDL,0AH
MOVAH,02H
INT21H
MOVDL,0DH
MOVAH,02H
INT21H
CMPBL,9
JZENDPRO
LOOPLOPENDPRO:
MOVAH,4CH
INT21HCODESENDSENDSTARTExam5:STACK
SEGMENT
STACK
DB
1024
DUP(0)STACK
ENDSDATA
SEGMENTBUF
DW
0F101H,110DH,52H,100H,456HCOUNT
=($-BUF)/2RESULT
DW
4
DUP(?),'$'DATA
ENDSCODE
SEGMENT
ASSUME
CS:CODE,DS:DATA,SS:STACKWDADD
PROC
PUSH
DI
MOV
AX,
0
MOV
DX,
0
MOV
DI,
OFFSET
BUFNEXT2:
ADD
AX,
[DI]
JNC
NEXT1
INC
DXNEXT1:
ADD
DI,
2
LOOP
NEXT2
POP
DI
RET
WDADD
ENDP
SHOW
PROC
PUSH
CX
PUSH
DI
MOV
CX,
04H
MOV
DI,
OFFSET
RESULT
MOV
BX,
AX
ADD
DI,
07HBBB:
MOV
AX,
BX
AND
AX,
000FH
CMP
AL,
0AH
JB
QQQ
ADD
AL,
07HQQQ:
ADD
AL,
30H
MOV
[DI],
AL
DEC
DI
PUSH
CX
MOV
CL,
04
SHR
BX,
CL
POP
CX
LOOP
BBB
MOV
CX,
0004HCCC:
MOV
AX,
DX
AND
AX,
000FH
CMP
AL,
0AH
JB
DDD
ADD
AL,
07HDDD:
ADD
AL,
30H
MOV
[DI],
AL
DEC
DI
PUSH
CX
MOV
CL,
04H
SHR
DX,
CL
POP
CX
LOOP
CCC
POP
DI
POP
CX
RET
SHOW
ENDPBEGIN:MOV
AX,
DATA
MOV
DS,
AX
MOV
CX,
COUNT
CALL
WDADD
CALL
SHOW
MOV
DX,
OFFSET
RESULT
MOV
AH,
09H
INT
21H
MOV
AH,
4CH
INT
21HCODE
ENDS
END
BEGIN實驗三算術運算與代碼轉換程序設計一、實驗目的1)掌握算術運算程序的設計方法。2)掌握代碼轉換程序的設計方法。3)進一步掌握各種程序結構。4)純熟掌握和使用用DEBUG調試程序。二、實驗內容1)編制兩個多字節(jié)整數(shù)加法和減法程序,并將結果按十六進制形式顯示在屏幕上。2)編制程序實現(xiàn)二進制定點數(shù)與十進制數(shù)的ASCII碼串之間轉換,并將結果顯示在屏幕上。3)編寫程序計算從鍵盤輸入兩個不超過四位的十進制數(shù)的和、差、積、商,并以十進制形式輸出。4)寫程序把從鍵盤輸入的四位十六進制數(shù)轉換為壓縮的BCD碼,并顯示輸出。5)編寫一通用過程用來將十進制數(shù)(從鍵盤輸入)轉換為P(從鍵盤輸入)進制數(shù)。三、實驗設備PC機一臺四、實驗環(huán)節(jié)1)按程序流程圖編制實驗程序。2)輸入源程序。3)匯編、連接程序,執(zhí)行程序,檢查結果。4)程序的執(zhí)行可用DEBUG的G命令,也可用T命令單步跟蹤執(zhí)行。5)用D命令檢查執(zhí)行結果。五、實驗報告的規(guī)定1)列出源程序。2)對程序中用到的寄存器說明其功能。3)總結算術運算和代碼轉換程序的設計方法。 4)說明如何使用DEBUG進行程序調試的。調試過程中所碰到的問題是如何解決的。Eaxm1:DATASEGMENT?ADB82H,34H,56H,78H,2AH,0BCH,0EFH,00H BDB34H,56H,78H,9AH,0BCH,0EFH,16H LENBEQU$-B LEN2EQU(B-A)*2 RESDBLEN2DUP('?'),'$'DATAENDSSTACKSEGMENTPARASTACK DW20DUP(?)STACKENDSCODESEGMENT ASSUMEDS:DATA,CS:CODE,SS:STACKSTART:?MOVAX,DATA?MOVDS,AX;多字節(jié)相加?MOVSI,0 CLC?MOVCX,LENBLOP1: MOVAL,A[SI]?ADCAL,B[SI]?MOVA[SI],AL?INCSI LOOPLOP1 ADCBYTEPTRA[SI],0;輸出?MOVSI,0?ADDSI,LENB MOVDI,0 MOVCX,LENB+1LOP2: PUSHCX MOVAL,A[SI];高位轉換?MOVBL,AL?MOVCL,4?SHRBL,CL?CMPBL,0AH?JBNEXT1?ADDBL,07HNEXT1: ADDBL,30H?MOVRES[DI],BL INCDI;低位轉換?MOVBL,AL ANDBL,0FH CMPBL,0AH?JBNEXT2 ADDBL,07HNEXT2: ADDBL,30H MOVRES[DI],BL INCDI?DECSI POPCX LOOPLOP2 MOVAH,09H?MOVDX,OFFSETRES INT21H?MOVAH,4CH INT21HCODEENDSENDSTARTExam5:DATASEGMENTSTRING1DB'INPUTYOURM=','$'STRING2DB'INPUTYOURP=','$'REDB8DUP(30H)DATAENDSSTACK1SEGMENTSTACKDW60HDUP(0)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACK1START:MOVAX,DATAMOVDS,AXMOVDX,OFFSETSTRING1MOVAH,09HINT21HMOVAH,01HINT21HANDAX,0000FHMOVDL,10MULDLMOVBX,AXMOVAH,01HINT21HANDAL,0FHCLCADDBL,ALADCBH,0MOVDL,0AHMOVAH,02HINT21HMOVDL,0DHINT21HMOVDX,OFFSETSTRING2MOVAH,09HINT21HMOVAH,01HINT21HMOVDH,ALSUBDH,30HMOVDL,0AHMOVAH,02HINT21HMOVDL,0DHINT21HMOVAX,BXMOVBX,0001HMOVDI,OFFSETRELOP1:DIVDHADDAH,30HMOV[DI],AHCBWADDDI,BXCMPAL,0JALOP1MOVCX,08HMOVDI,OFFSETRECLCADCDI,CXLOP2:SUBDI,BXMOVDL,[DI]MOVAH,02HINT21HLOOPLOP2MOVAH,4CHINT21HCODEENDSENDSTART實驗五輸入輸出程序設計一、實驗目的1)掌握輸入輸出程序的編寫方法。2)熟悉系統(tǒng)功能調用的方法。3)熟悉動畫程序的編寫方法。二、實驗內容1)在CRT上每隔一秒連續(xù)顯示字符0-9。編程提醒為了使輸出的字符之間有空格,在每一個循環(huán)中輸出一個0-9的字符和一個空格。為了輸出0-9,置寄存器BL初值為0,每循環(huán)一次使其增量。為了保證輸出是十進制,增量后用DAA調整指令。由于輸出為一位十進制數(shù),用AND0FH指令屏蔽高4位。2)用系統(tǒng)功能調用將‘HELLO’由鍵盤輸入,再從屏幕輸出‘***HELLO***’。3)編制在屏幕上畫線的子程序,調用該子程序畫一矩形。4)編制字母下落一行的子程序,調用該子程序使字母從屏幕頂部下落到底部。5)創(chuàng)建一磁盤文獻,保存從鍵盤輸入的字符串。6)編寫程序用設立系統(tǒng)時間,一方面從鍵盤以十進制數(shù)形式輸入時間,然后修改系統(tǒng)時間,并重新以十進制形式顯示時間。7)編寫程序將屏幕分割成格狀,每一格涂上不同顏色,格數(shù)從鍵盤輸入。8)編寫程序在屏幕上顯示菜單,輸入相應菜單的序號后,選種該菜單項。三、實驗設備PC機一臺四、實驗環(huán)節(jié)?1)
按程序流程圖編制實驗程序。?2)輸入源程序。 3)匯編、連接程序,執(zhí)行程序,檢查結果。4)程序的執(zhí)行可用DEBUG的G命令,也可用T命令單步跟蹤執(zhí)行。
五、實驗報告的規(guī)定1)列出源程序。2)總結輸入輸出程序及動畫的編寫方法。3)總結常用系統(tǒng)調用的功能及調用方法。Exam1:STACKSEGMENTSTACKDB1024DUP(0)STACKENDSCODESEGMENTASSUMECS:CODE,SS:STACKSTART:MOVBL,0LP:MOVDL,20HMOVAH,2INT21HMOVAL,BLADDAL,0DAAANDAL,0FHMOVBL,ALPUSHBXORAL,30HMOVDL,ALMOVAH,2INT21HMOVBX,3E8HLP2:MOVCX,176H;延時1msLP1:PUSHFPOPFLOOPLP1DECBXJNZLP2POPBXINCBLJMPLPCODEENDSENDSTARTExam2:STACKSEGMENTSTACKDB1024DUP(0)STACKENDSDATASEGMENTBUFFDB6,7DUP(?),‘$’DATAENDSINPUTMACROBUFEMOVDX,OFFSETBUFEMOVAH,0AHINT21HENDMPUTCHARMACROCHARMOVDL,CHARMOVAH,02HINT21HENDMCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXINPUTBUFF;讀取字符串?BUFFPUTCHAR0DHPUTCHAR0AH;光標另起一行MOVCX,0003HNEXT:PUTCHAR2AHLOOPNEXTMOVCL,BUFF+1SUB
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度凈水器產品代理銷售及區(qū)域管理合同2篇
- 2024版全新商品房預售房合同下載
- 2024版銀杏樹采購合同
- 2024版策劃的合同
- 二零二五年度水利工程土方工程合同范本18篇
- 《冬至節(jié)模板》課件
- 2024物業(yè)管理公司公共區(qū)域清潔兼職勞務合同范本2篇
- 二零二五年度石材雕刻藝術品采購合同協(xié)議3篇
- 商標委托協(xié)議書(2篇)
- 國際商法合同范本(2篇)
- 蘇北四市(徐州、宿遷、淮安、連云港)2025屆高三第一次調研考試(一模)語文試卷(含答案)
- GB/T 44888-2024政務服務大廳智能化建設指南
- 會計專業(yè)工作簡歷表(中級)
- 中國建筑史經典題型
- 人民美術出版社三年級下冊書法教案
- 二年級豎式計算題720道(打印排版)
- 公路工程質量檢驗評定標準(交安部分)
- 整式的乘法和因式分解純計算題100道
- Consent-Letter-for-Children-Travelling-Abroad
- 玻璃鱗片施工技術規(guī)范
- 操作規(guī)程管理制度的內容及示例
評論
0/150
提交評論