版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、.微機原理軟件實驗實驗1兩個多位十進制數(shù)相加的實驗實驗內(nèi)容:將兩個多位十進制數(shù)相加,要求加數(shù)和被加數(shù)均以ASCII碼形式各自順序存放以DATA1和DATA2為首的5個內(nèi)存單元中(低位在前),結果送回DATA1處。完整代碼如下:DATAS SEGMENT ;此處輸入數(shù)據(jù)段代碼 STRING1 DB input the first number:,$ STRING2 DB 13,10,input the second number:,$ STRING3 DB 13,10,the output is:,$ DATA1 DB 6 DUP(00H),$ DATA2 DB 6 DUP(00H),$DATA
2、S ENDSSTACKS SEGMENT ;此處輸入堆棧段代碼STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX ;此處輸入代碼段代碼 LEA SI,DATA1 LEA DI,DATA2 L0: LEA DX,STRING1;打印字符串STRING1 MOV AH,09 INT 21HINPUT1: ;輸入第一個數(shù) MOV AH,01;輸入字符至AL中 INT 21H CMP AL,/ JE L1 MOV SI,AL INC SI JMP INPUT1 L1: LEA
3、DX,STRING2;打印字符串STRING2 MOV AH,09 INT 21H INPUT2: ;輸入第二個數(shù) MOV AH,01;輸入字符至AL INT 21H CMP AL,/ JE L2 MOV DI,AL INC DI JMP INPUT2 L2: MOV SI,0 CLC;清空進位標志位CF MOV CX,6PLUSE: ;相加;SUB DATA1SI,30H;SUB DATA2SI,30H ;這里不能使用這兩條指令,因為如果DATA15=00H,00H-30H需要借位相減,使CF=1 MOV AL,DATA1SI ADC AL,DATA2SI AAA ;加法調(diào)整指令,可使兩個A
4、SCII數(shù)直接相加 MOV DATA1SI,AL;和賦給DATA1SI INC SI LOOP PLUSE L3: LEA DX,STRING3;打印字符串STRING3 MOV AH,09 INT 21H MOV CX,6 MOV SI,6SHOW: DEC SI CMP DATA1SI,00H JE SHOW SHOW2: MOV DL,DATA1SI ADD DL,30H MOV AH,02 INT 21H CMP SI,0 JE L4 DEC SI JMP SHOW2 L4: MOV AH,4CH INT 21HCODES ENDS END START運行結果如下:輸入為低位在前,即輸
5、入1234和99999相加實際上是4321和99999相加(即:4321+99999=104320)實驗2兩個數(shù)相乘的實驗(無符號數(shù)相乘)實驗內(nèi)容:實現(xiàn)十進制數(shù)的乘法。要求被乘數(shù)和乘數(shù)均以ASCII碼形式各自順序存放在內(nèi)存中,乘積在屏幕上顯示出來。完整代碼如下:DATAS SEGMENT ;此處輸入數(shù)據(jù)段代碼 STRING1 DB the output is:,$ DATA1 DB 31H,32H,33H DATA2 DB 35H,36HDATAS ENDSSTACKS SEGMENT ;此處輸入堆棧段代碼STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:
6、DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX ;此處輸入代碼段代碼 MOV DL,10 MOV AL,DATA10;AL=31H SUB AL,30H ;AL=01H MUL DL;乘10 ;AL=10 ADD AL,DATA11;AL=10 +32H SUB AL,30H ;AL=10 +32H-30H=12 MUL DL ;AL=120 ADD AL,DATA12;AL=120+33H SUB AL,30H ;AL=120+33H-30H=123 MOV BL,AL ;BL=AL ; MOV AL,DATA20;AL=35H SUB AL,30H
7、 ;AL=5 MUL DL;乘10 ;AL=50 ADD AL,DATA21;AL=50+36H SUB AL,30H ;AL=50+36H-30H=56 MUL BL ;AX=123x56=6888 SUB DX,DX;DX清零 MOV BX,1000 DIV BX;(DX,AX)/1000,商6在AX中,余數(shù)888在DX中 PUSH DX MOV DL,AL ADD DL,30H MOV AH,02 ;打印最高位6 INT 21H POP DX MOV BL,100 MOV AX,DX;888賦給AX DIV BL;AX/100,商放在AL中,余數(shù)88放在AH中 MOV DL,AL MOV
8、 CL,AH ;!這里千萬不能把AH直接賦給AL,因為經(jīng)過INT 21H指令后AL,AH會改變 ADD DL,30H MOV AH,02;打印第二位 INT 21H MOV BL,10 MOV AL,CL SUB AH,AH;清空AH DIV BL;AX/10,商放在AL中,余數(shù)8放在AH中 MOV DL,AL MOV CL,AH ADD DL,30H MOV AH,02;打印第三位 INT 21H MOV DL,CL ADD DL,30H MOV AH,02;打印第四位 INT 21HCODES ENDS END START運行結果為:實驗3字符串匹配實驗實驗內(nèi)容:編寫程序?qū)崿F(xiàn)兩個字符串比較
9、。如果相同,則屏幕顯示“match”,否則屏幕顯示”nomatch”,完整代碼如下:DATAS SEGMENT ;此處輸入數(shù)據(jù)段代碼 PRINT1 DB input the first string:,$ PRINT2 DB 13,10,input the second string:,$ PRINT3 DB match,$ PRINT4 DB nomatch,$ PRINT5 DB 13,10,output: ,$ STRING1 DB 30 DUP(00H),13,10,$ STRING2 DB 30 DUP(00H),13,10,$DATAS ENDSSTACKS SEGMENT ;此處
10、輸入堆棧段代碼STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS,ES:DATASSTART: MOV AX,DATAS MOV DS,AX ;此處輸入代碼段代碼 LEA DX,PRINT1;打印字符串PRINT1 MOV AH,09 INT 21H LEA SI,STRING1;STRING1地址賦給SI LEA DI,STRING2;STRING2地址賦給DI INPUT1: MOV AH,01;輸入字符至AL INT 21H CMP AL,/;輸入字符串以/結束,轉L0 JE L0 MOV SI,AL INC SI JM
11、P INPUT1 L0: LEA DX,PRINT2;打印字符串PRINT2 MOV AH,09 INT 21H INPUT2: MOV AH,01; 輸入字符至AL INT 21H CMP AL,/ JE L1 MOV DI,AL INC DI JMP INPUT2L1: MOV CX,30 ;CX=30代表比較30次 MOV SI,00H COMPARE:;字符串一個一個比較 MOV AL,STRING1SI;取STRING1存儲單位中的第SI個字符賦給AL CMP AL,STRING2SI;AL與STRING2存儲單位中的第SI個字符比較 JNE NOMATCH INC SI LOOP
12、COMPARE JMP MATCH NOMATCH:;打印output:nomatch LEA DX,PRINT5 MOV AH,09 INT 21H LEA DX,PRINT4 MOV AH,09 INT 21H JMP L2 MATCH:;打印output:match LEA DX,PRINT5 MOV AH,09 INT 21H LEA DX,PRINT3 MOV AH,09 INT 21H L2: MOV AH,4CH INT 21HCODES ENDS END START運行結果:實驗4從鍵盤輸入數(shù)據(jù)并顯示的實驗實驗內(nèi)容:將鍵盤輸入的2位十六進制數(shù)轉換為等值的二進制數(shù),并在屏幕上顯示
13、。列如:鍵入f2,則顯示11110010.完整代碼如下:DATAS SEGMENT ;此處輸入數(shù)據(jù)段代碼 STRING1 DB please input a string:,$ STRING2 DB 13,10,the output is:,$ STRING3 DB 13,10,input error,13,10,$ DATAS ENDSSTACKS SEGMENT ;此處輸入堆棧段代碼STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX ;此處輸入代碼段代碼L0: LE
14、A DX,STRING1;打印字符串STRING1 MOV AH,09 INT 21H MOV AH,01;輸入第一個字符至AL中 INT 21H CMP AL,0 JB ERROR1 CMP AL,9 JBE ENTER1 CMP AL,A JB ERROR1 CMP AL,F JBE ENTER1 CMP AL,a JB ERROR1 CMP AL,f JBE ENTER1 ERROR1: LEA DX,STRING3;打印字符串STRING3 MOV AH,09 INT 21H JMP L0ENTER1: CALL ASC2BCD;把ASCII碼轉化 成十進制數(shù)BCD碼 MOV CL,4
15、 ROL AL,CL MOV BL,AL;把高四位放到BL寄存器中 ;輸入第二個字符 MOV AH,01;輸入第二個字符至AL中 INT 21H CMP AL,0 JB ERROR1 CMP AL,9 JBE ENTER2 CMP AL,A JB ERROR1 CMP AL,F JBE ENTER2 CMP AL,a JB ERROR1 CMP AL,f JBE ENTER2 ENTER2: CALL ASC2BCD;把ASCII碼轉化成十進制數(shù)BCD碼 ADD BL,AL LEA DX,STRING2;打印字符串STRING2 MOV AH,09 INT 21H MOV CX,9 CLC;清
16、空標志位SHOW: ;顯示BL中的二進制數(shù) DEC CX CMP CX,0 JE NEXT ;輸出完八位之后返回DOS ROL BL,1 ;循環(huán)左移一位,若溢出為1,則CF=1 JC M1 JMP M2 M1: MOV DL,1 ;若CF=1,轉至M1打印1 MOV AH,02 INT 21H JMP SHOWM2: MOV DL,0 ;若CF=0,轉至M1打印0 MOV AH,02 INT 21H JMP SHOW NEXT: MOV AH,4CH INT 21H ASC2BCD PROC CMP AL,9 JBE L1 ;若AL9,轉L1 SUB AL,07H ;若輸入的數(shù)為AF,或者af
17、,則減7,A接在39H后面,AF=3AH3FH,af=5AH5FHL1: SUB AL,30H ;減30H AND AL,0FH ;濾除高位,保留低位,因為af恰好比AF大20H,這樣af就和AF的數(shù)值一樣了 RETASC2BCD ENDPCODES ENDSEND START輸出結果為:(若輸出不在09,AF,af內(nèi),則重新輸入)實驗5字符和數(shù)據(jù)計算的實驗實驗內(nèi)容:先在屏幕上顯示“input string,”,輸入字符串; 再顯示“result=”。如為09的數(shù)字,則計數(shù)器加1,如為非數(shù)字,則直接顯示,但不計數(shù)。完整代碼如下:DATAS SEGMENT ;此處輸入數(shù)據(jù)段代碼 STRING1
18、DB input string:,$ STRING2 DB 13,10,result=,$ STRING3 DB 13,10,zifu:,$DATAS ENDSSTACKS SEGMENT ;此處輸入堆棧段代碼STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX ;此處輸入代碼段代碼 LEA DX,STRING1;打印字符串1 MOV AH,09 INT 21H MOV CX,0 MOV BX,0INPUT: MOV AH,01;輸入字符至AL INT 21H CMP A
19、L,/ ;輸入/后轉L0 JE L0 CMP AL,0 ;下溢出轉RUZHAN JB RUZHAN CMP AL,9 ;上溢出轉RUZHAN JA RUZHAN INC CL ;若為數(shù)字則計數(shù)器+1 JMP INPUT RUZHAN:;非數(shù)字字符入棧 PUSH AX ADD BL,1 ;BL代表入棧的字符個數(shù),方便待會輸出 JMP INPUT L0: LEA DX,STRING3;打印字符串3 MOV AH,09 INT 21H CHUZHAN: POP AX MOV DX,AX MOV AH,02 INT 21H SUB BL,1 CMP BL,0 ;入了多少個棧,出多少棧 JNE CHUZ
20、HANOUTPUT:;輸出數(shù)字的個數(shù) LEA DX,STRING2;打印字符串2 MOV AH,09 INT 21H MOV DL,CL ADD DL,30H MOV AH,02 INT 21H MOV AH,4CH INT 21HCODES ENDS END START輸出結果為:(這里非數(shù)字字符輸出順序與輸入順序相反)實驗6 改變年月日的實驗實驗內(nèi)容:先在屏幕上顯示“what is the date(mm/dd/yy)?“從鍵盤輸入的月日年能把計算機的系統(tǒng)日期改為你鍵入的值。完整代碼如下:DATAS SEGMENTS1 DB 0AH,0DH,what is the date(mm/dd/y
21、y)?:,$DATAS ENDSSTACKS SEGMENTSTACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX MOV DX,OFFSET S1 MOV AH,09H;打印字符串what is the date(mm/dd/yy)?: INT 21H MOV DX,0H;DX=CH=0 MOV CH,0 ;MOV SI,0AHKAISHI: MOV CL,0;用來壓縮移位SHURU: MOV AH,01H;輸入字符存入AL中 INT 21H MOV AH,0AH;10賦
22、給AH CMP AL,0DH;AL=13則結束,設置日期 JE GENGGAI CMP AL,/ ;計算來判斷是年,月,日 JE ZIZENG AND AL,0FH CMP CH,0;等于0則轉月 JE YUE CMP CH,1;等于1則轉日 JE RI CMP CH,2;等于2則轉年 JE NIAN ZIZENG:INC CH JMP SHURU;無條件轉移至SHURUYUE: ADD DH,AL CMP CL,0 JNZ KAISHI INC CL MOV AL,DH MUL AH MOV DH,AL JMP SHURU;無條件轉移至SHURURI: ADD DL,AL CMP CL,0
23、JNZ KAISHI INC CL MOV AL,DL MUL AH MOV DL,AL JMP SHURU;無條件轉移至SHURUNIAN: CMP CL,0 JNZ XIABU ADD BL,AL MOV CL,03H;3賦給CL JMP SHURU;無條件轉移至SHURUXIABU: MOV AH,0;清空AH MOV SI,BX;SI=BX SHL BX,CL;BX左移三位,乘以8 SHL SI,1;SI左移一位,乘以2 ADD BX,SI;兩個相加,即乘以10 ADD BX,AX;BX加上新輸入的數(shù)字 JMP SHURUGENGGAI: MOV CX,BX MOV AH,2BH;設置
24、日期 INT 21H MOV AH,4CH INT 21HCODES ENDS END START輸出結果為:(設置2008年12月3日,注意如果要設置好系統(tǒng),否則可能計算機的日期改變不了)實驗7將小寫字母轉換為大寫字母的實驗實驗內(nèi)容:接收鍵入字符(以Ctrl-c為結束),將小寫字母變?yōu)榇髮懽帜?,并在屏幕上顯示。 完整代碼如下:DATAS SEGMENT ;此處輸入數(shù)據(jù)段代碼 STRING1 DB 13,10,please input a string:,$ STRING2 DB 13,10, the output string is:,$ DATA DB 100 DUP(00H),$DATA
25、S ENDSSTACKS SEGMENT ;此處輸入堆棧段代碼STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX ;此處輸入代碼段代碼M: LEA SI,DATA LEA DX,STRING1;打印字符串1 MOV AH,09 INT 21HINPUT: MOV AH,01;輸入字符C INT 21H CMP AL,03H JE OUTPUT CMP AL,a JB M CMP AL,z JA M SUB AL,20H ;減20H變小寫 MOV SI,AL INC SI
26、 JMP INPUT OUTPUT: LEA DX,STRING2;打印字符串2 MOV AH,09 INT 21H LEA SI,DATAL1: MOV DL,SI CMP DL,00H JE ENDING MOV AH,02 INT 21H INC SI JMP L1ENDING: MOV AH,4CH INT 21HCODES ENDS END START運行結果為:(如果輸入的不在af中,則重新輸入)實驗8排序?qū)嶒?09)實驗內(nèi)容:從首地址為1000H開始存放10個數(shù),將這些數(shù)按降序排列.完整代碼如下:DATAS SEGMENT ;此處輸入數(shù)據(jù)段代碼 STRING1 DB please
27、 input 10 numbers:,$ STRING2 DB 13,10, the sorted numbers are:,$ ORG 1000H DATA DB 10 DUP(00H),$DATAS ENDSSTACKS SEGMENT ;此處輸入堆棧段代碼STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX ;此處輸入代碼段代碼 LEA DX,STRING1;輸入提示語plese input 10 numbers: MOV AH,09 INT 21H MOV CX,
28、10 LEA SI,DATAINPUT: MOV AH,01;輸入字符至AL INT 21H MOV SI,AL;把AL賦給偏移地址為SI指向的單元 INC SI LOOP INPUT MOV BL,0L0: MOV CX,9 LEA SI,DATAL1: ;比較第SI個數(shù)和第SI+1個數(shù)的大小 MOV AL,SI INC SI CMP AL,SI JB CHANGE ;若小于則轉CHANGEL2: LOOP L1 ;小循環(huán)(CX自動減1),若CX=0則結束 L3: INC BL CMP BL,10 JB L0 ;若大循環(huán)有10次了,則轉OUTPUT JMP OUTPUTCHANGE:;交換兩
29、個數(shù) XCHG AL,SI;交換, MOV SI-1,AL;賦給SI-1 JMP L2OUTPUT: LEA DX,STRING2;輸入提示語 the sorted numbers are: MOV AH,09 INT 21H MOV CX,10 LEA SI,DATAL4:;循環(huán)輸出 MOV DL,SI MOV AH,02 INT 21H INC SI LOOP L4 MOV AH,4CH INT 21HCODES ENDS END START輸出結果為:實驗8排序?qū)嶒?多位數(shù)排序)實驗內(nèi)容:從首地址為1000H開始存放10個數(shù),將這些數(shù)按降序排列.完整代碼如下:DATA SEGMENT ;
30、CHANGE函數(shù)DI,SI為入口函數(shù),交換SI,DI的值,SI,DI值已經(jīng)大變BUFFER DB 100 DB ? DB 100 DUP(?) DB $ ORG 1000HN EQU 10STOREDATA DB 110 DUP(30H) ;每個數(shù)最大為10位TEMP1 DB 12 DUP(24H) ;中間變量TEMP2 DB 12 DUP(24H) ;中間變量TEMP3 DB 12 DUP(24H) ;中間變量DATA ENDSSTACK SEGMENT PARA STACK DW 60H DUP(0)STACK ENDSCODE SEGMENTASSUME DS:DATA,CS:CODE,
31、SS:STACKSTART: MOV AX,DATA MOV DS,AX ;MOV AX,STACK ;MOV SS,AX ;可以有可以無,因為其已經(jīng)默認為SS了 MOV DX,OFFSET BUFFER MOV AH,0AH INT 21H CALL TURNLINE LEA SI,BUFFER LEA DI,STOREDATA CALL BUFFERTOSTORE CALL TURNLINE LEA SI,STOREDATA CALL COMPARE GO: MOV SI,OFFSET STOREDATA MOV CL,110PRINT:MOV DL,SI CMP DL,30H JNE P
32、RINT1 CMP AL,1 JE PRINT1 ;打印該有的0 INC SI LOOP PRINTPRINT1: CMP DL,2CH JE PRINT0 JIXU: MOV AH,02H INT 21H CMP DL,2CH JNE GOON5 MOV AL,0 JMP GOON6PRINT0:CMP AL,0 JNE JIXU MOV DL,30H MOV AH,02H INT 21H MOV DL,2CH JMP JIXU GOON5:MOV AL,1GOON6:INC SI LOOP PRINT MOV AH,01H INT 21H MOV AH,4CH INT 21HCOMPARE
33、 PROC ;以SI為入口傳遞 MOV BX,SI ; LEA DI,TEMP2;GETLAST: ; CALL TEMPSAVE ; INC DL ; CMP DL,N ; JE GOON1 ; LEA DI,TEMP2 ; JMP GETLAST ;TEMP2始終指向當前最后一個數(shù);GOON1: MOV CL,NCOMPARE1: MOV SI,BX LEA DI,TEMP1 CALL TEMPSAVE ;TEMP1指向第一個數(shù),錯啦,為什么呢,因為那樣比不會進行變化 MOV SI,BX MOV DH,1 LEA DI,TEMP1 PUSH SI COMPARE2: LODSB MOV A
34、H,DI CMP AL,2CH JE EQUAL CMP AL,AH JB BELOW CMP AL,AH JA ABOVE INC DI JMP COMPARE2BELOW: INC DH POP SI PUSH SI LEA DI,TEMP1 CALL TEMPSAVE ;使TEMP1存入當前最小,因為TEMP1當前元已經(jīng)存在了 ;不可以再轉存,否則出錯 POP SI ADD SI,N INC SI PUSH SI CMP DH,CL JA GOON2 LEA DI,TEMP1 JMP COMPARE2 EQUAL: INC DH ;不交換 POP SI ADD SI,N INC SI P
35、USH SI CMP DH,CL JA GOON2 ;比較CL次 LEA DI,TEMP1 JMP COMPARE2 ABOVE: ;TEMP1始終指向當前最小,若當前值大于時最小時前移 ;此時TEMP1不便,只需前移就好,交換前后兩個數(shù)的大小 INC DH POP SI PUSH SI SUB SI,N SUB SI,1 MOV DI,SI POP SI PUSH SI CALL CHANGE POP SI ADD SI,N INC SI PUSH SI CMP DH,CL JA GOON2 ;比較CL次 LEA DI,TEMP1 JMP COMPARE2 GOON2: LOOP COMPA
36、RE1 JMP GO RET COMPARE ENDP ;存儲函數(shù)思路:從最后一位開始存,首位均置零,最高10位 BUFFERTOSTORE PROC MOV CL,10 ADD SI,2 ; SUB DI,3 STORE: MOV AL,SI CMP AL,2CH ;直到SI指向,(結束一個數(shù)),再進行存儲 JE STORE2 INC SI JMP STORESTORE2:MOV BX,SI ;存儲SISTOREIN: ADD DI,N ;ADD DI,3 MOV DX,DI ;存儲DISTOREIN1: MOV AL,SI MOV DI,AL DEC SI DEC DI LEA AX,BU
37、FFER ADD AX,1 ;注意邊界要取好,因其也有值 CMP SI,AX JE JMP1 MOV AL,SI CMP AL,2CH JE JMP1 JMP STOREIN1 ;條件控制循環(huán)JMP1 :MOV SI,BX INC SI ;進行存儲下個數(shù) INC DX ;使DI加1因為前幾位已經(jīng)用了 MOV DI,DX LOOP STORE ;MOV AL,$ ;INC DI ;MOV DI,AL RET BUFFERTOSTORE ENDP CHANGE PROC PUSH DI PUSH SI LEA DI,TEMP3 CALL TEMPSAVE ;TEMP3存放SI當前值 POP DI
38、;往SI存入值 POP SI PUSH SI CALL TEMPSAVE ;*把DI的值存入SI中 POP DI LEA SI,TEMP3 CALL TEMPSAVE ;*把SI的值存入DI中 RET CHANGE ENDP TEMPSAVE PROC ;存儲中間變量的函數(shù),以DI,SI,為入口,以,標志位結束 STEMP:LODSB MOV DI,AL INC DI CMP AL,2CH JE NEXT JMP STEMP NEXT: RET TEMPSAVE ENDP TURNLINE PROC MOV DL,0AH MOV AH,02H INT 21H RET TURNLINE ENDP
39、 CODE ENDSEND START輸出結果為:實驗9設置光標的實驗實驗內(nèi)容:設置光標,起始位置為第5行第6列,結束位置為第8行第6列。完整代碼如下:DATAS SEGMENT ;此處輸入數(shù)據(jù)段代碼 DATAS ENDSSTACKS SEGMENT ;此處輸入堆棧段代碼STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX ;此處輸入代碼段代碼 MOV AH,08;輸入無回顯 INT 21H MOV DH,5;設置行 MOV DL,6;設置列 MOV BH,0;設置頁 M
40、OV AH,02 INT 10H MOV AH,08;輸入無回顯 INT 21H MOV DH,8;設置行 MOV DL,6;設置列 MOV BH,0;設置頁 MOV AH,02 INT 10H MOV AH,08;輸入無回顯 INT 21H MOV AH,4CH INT 21HCODES ENDS END START輸出結果為:(任意輸入一個字符,光標跳到5行6列,再任意輸入一個字符,光標跳到8行6列)這里光標截圖后是看不到的,所以就不截圖了實驗10 計算N!的實驗實驗內(nèi)容:在鍵盤輸入數(shù)字,結果顯示在屏幕上。DATAS SEGMENT ;段定義(結構) ;此處輸入數(shù)據(jù)段代碼 P1 DB input the number(0-6):,$ p2 DB 13,10,the result is:,$DATAS ENDSSTACKS SEGMENT ;此處輸入堆棧段代碼 ST1 DW 40H DUP(0)STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:STACKS ;段分配(結構)START: MOV AX,DATAS ;設置段地址(結構) MOV DS,AX MOV AX,STACKS MOV SS,AX ;此處輸入代碼段代碼 LEA DX,P1 ;顯示提示字符串
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024建筑業(yè)勞動合同(示范文本)
- 鹽城師范學院《展示空間設計》2021-2022學年第一學期期末試卷
- 2024勞動合同法全文【附勞動合同范本】
- 2024中介土地買賣合同
- 滬教版三年級下冊數(shù)學第二單元 用兩位數(shù)乘除 測試卷附參考答案(培優(yōu))
- 2024設備代理合同范本
- 2024貨物保管合同格式
- 建筑起重機械設備安全管理培訓練習試題及答案
- 客車旅游中介合同
- 2024版房屋木門購銷合同書
- 跟蹤審計服務 投標方案(技術方案)
- (打印)初一英語語法練習題(一)
- 養(yǎng)老院健康檔案模板
- 自動監(jiān)測數(shù)據(jù)公開和超標判定標識規(guī)則培訓課件
- (162題)2024時事政治考試題庫及答案
- 人工智能推動農(nóng)業(yè)現(xiàn)代化發(fā)展
- 2024屆溫州高三一模數(shù)學試題含答案
- 三高中醫(yī)辨證治療課件
- 食品檢驗檢測技術專業(yè)職業(yè)生涯發(fā)展
- 抖音矩陣員工培訓課件
- 慢性膽囊炎的護理問題及護理措施
評論
0/150
提交評論