微機軟件實驗習題與答案完整_第1頁
微機軟件實驗習題與答案完整_第2頁
微機軟件實驗習題與答案完整_第3頁
微機軟件實驗習題與答案完整_第4頁
微機軟件實驗習題與答案完整_第5頁
已閱讀5頁,還剩54頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、微機原理軟件實驗實驗1兩個多位十進制數相加的實驗實驗內容:將兩個多位十進制數相加,要求加數和被加數均以ASCII碼形式各自順序存放以DATA1和DATA2為首的5個內存單元中(低位在前),結果送回DATA1處。完整代碼如下:DATAS SEGMENT ;此處輸入數據段代碼 STRING1 DB 'input the first number:','$' STRING2 DB 13,10,'input the second number:','$' STRING3 DB 13,10,'the output is:',

2、'$' DATA1 DB 6 DUP(00H),'$' DATA2 DB 6 DUP(00H),'$'DATAS 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: ;輸入第一個數

3、 MOV AH,01;輸入字符至AL中 INT 21H CMP AL,'/' JE L1 MOV SI,AL INC SI JMP INPUT1 L1: LEA DX,STRING2;打印字符串STRING2 MOV AH,09 INT 21H INPUT2: ;輸入第二個數 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,

4、30H ;這里不能使用這兩條指令,因為如果DATA15=00H,00H-30H需要借位相減,使CF=1 MOV AL,DATA1SI ADC AL,DATA2SI AAA ;加法調整指令,可使兩個ASCII數直接相加 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

5、INT 21H CMP SI,0 JE L4 DEC SI JMP SHOW2 L4: MOV AH,4CH INT 21HCODES ENDS END START運行結果如下:輸入為低位在前,即輸入1234和99999相加實際上是4321和99999相加(即:4321+99999=104320)實驗2兩個數相乘的實驗(無符號數相乘)實驗內容:實現十進制數的乘法。要求被乘數和乘數均以ASCII碼形式各自順序存放在內存中,乘積在屏幕上顯示出來。完整代碼如下:DATAS SEGMENT ;此處輸入數據段代碼 STRING1 DB 'the output is:','$

6、9; DATA1 DB 31H,32H,33H DATA2 DB 35H,36HDATAS ENDSSTACKS SEGMENT ;此處輸入堆棧段代碼STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS: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 MU

7、L 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 ;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中,余數888在DX中 PUSH DX MOV DL,A

8、L ADD DL,30H MOV AH,02 ;打印最高位6 INT 21H POP DX MOV BL,100 MOV AX,DX;888賦給AX DIV BL;AX/100,商放在AL中,余數88放在AH中 MOV DL,AL MOV CL,AH ;!這里千萬不能把AH直接賦給AL,因為經過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中,余數8放在AH中 MOV DL,AL MOV CL,AH ADD DL,30H MOV

9、 AH,02;打印第三位 INT 21H MOV DL,CL ADD DL,30H MOV AH,02;打印第四位 INT 21HCODES ENDS END START運行結果為:實驗3字符串匹配實驗實驗內容:編寫程序實現兩個字符串比較。如果相同,則屏幕顯示“match”,否則屏幕顯示”nomatch”,完整代碼如下:DATAS SEGMENT ;此處輸入數據段代碼 PRINT1 DB 'input the first string:','$' PRINT2 DB 13,10,'input the second string:','$&

10、#39; 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 ;此處輸入堆棧段代碼STACKS ENDSCODES SEGMENT ASSUME CS:CODES,DS:DATAS,SS:S

11、TACKS,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 JMP INPUT1 L0: LEA DX,PRINT2;打印字符串PRINT2 MOV AH,09 INT

12、 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 COMPARE JMP MATCH NOMATCH:;打印output:nomatc

13、h 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從鍵盤輸入數據并顯示的實驗實驗內容:將鍵盤輸入的2位十六進制數轉換為等值的二進制數,并在屏幕上顯示。列如:鍵入f2,則顯示11110010.完整代碼如下:DATAS SEGMENT

14、;此處輸入數據段代碼 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,A

15、X ;此處輸入代碼段代碼L0: LEA 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;打印字符串STR

16、ING3 MOV AH,09 INT 21H JMP L0ENTER1: CALL ASC2BCD;把ASCII碼轉化 成十進制數BCD碼 MOV CL,4 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 CM

17、P AL,'f' JBE ENTER2 ENTER2: CALL ASC2BCD;把ASCII碼轉化成十進制數BCD碼 ADD BL,AL LEA DX,STRING2;打印字符串STRING2 MOV AH,09 INT 21H MOV CX,9 CLC;清空標志位SHOW: ;顯示BL中的二進制數 DEC CX CMP CX,0 JE NEXT ;輸出完八位之后返回DOS ROL BL,1 ;循環左移一位,若溢出為1,則CF=1 JC M1 JMP M2 M1: MOV DL,'1' ;若CF=1,轉至M1打印1 MOV AH,02 INT 21H JMP

18、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 ;若輸入的數為AF,或者af,則減7,A接在39H后面,AF=3AH3FH,af=5AH5FHL1: SUB AL,30H ;減30H AND AL,0FH ;濾除高位,保留低位,因為af恰好比AF大20H,這樣af就和AF的數值一樣了 RETASC2BCD ENDPCODES ENDSEN

19、D START輸出結果為:(若輸出不在09,AF,af內,則重新輸入)實驗5字符和數據計算的實驗實驗內容:先在屏幕上顯示“input string,”,輸入字符串; 再顯示“result=”。如為09的數字,則計數器加1,如為非數字,則直接顯示,但不計數。完整代碼如下:DATAS SEGMENT ;此處輸入數據段代碼 STRING1 DB 'input string:','$' STRING2 DB 13,10,'result=','$' STRING3 DB 13,10,'zifu:','$'DA

20、TAS 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 AL,'/' ;輸入/后轉L0 JE L0 CMP AL,'0' ;下溢出轉RUZHAN JB RUZHAN CM

21、P AL,'9' ;上溢出轉RUZHAN JA RUZHAN INC CL ;若為數字則計數器+1 JMP INPUT RUZHAN:;非數字字符入棧 PUSH AX ADD BL,1 ;BL代表入棧的字符個數,方便待會輸出 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 CHUZHANOUTPUT:;輸出數字的個數 LEA DX,STRING2;打印字符串2 M

22、OV AH,09 INT 21H MOV DL,CL ADD DL,30H MOV AH,02 INT 21H MOV AH,4CH INT 21HCODES ENDS END START輸出結果為:(這里非數字字符輸出順序與輸入順序相反)實驗6 改變年月日的實驗實驗內容:先在屏幕上顯示“what is the date(mm/dd/yy)?“從鍵盤輸入的月日年能把計算機的系統日期改為你鍵入的值。完整代碼如下:DATAS SEGMENTS1 DB 0AH,0DH,"what is the date(mm/dd/yy)?:",'$'DATAS ENDSSTAC

23、KS 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賦給AH CMP

24、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,

25、0 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加上新輸入的數字 JMP SHURUGENGGAI: MOV CX,BX MOV AH,2BH;

26、設置日期 INT 21H MOV AH,4CH INT 21HCODES ENDS END START輸出結果為:(設置2008年12月3日,注意如果要設置好系統,否則可能計算機的日期改變不了)實驗7將小寫字母轉換為大寫字母的實驗實驗內容:接收鍵入字符(以Ctrl-c為結束),將小寫字母變為大寫字母,并在屏幕上顯示。 完整代碼如下:DATAS SEGMENT ;此處輸入數據段代碼 STRING1 DB 13,10,'please input a string:','$' STRING2 DB 13,10,' the output string is:&#

27、39;,'$' DATA DB 100 DUP(00H),'$'DATAS 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,'

28、a' JB M CMP AL,'z' JA M SUB AL,20H ;減20H變小寫 MOV SI,AL INC SI 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排序實驗(09)實驗內容:從首地址為1

29、000H開始存放10個數,將這些數按降序排列.完整代碼如下:DATAS SEGMENT ;此處輸入數據段代碼 STRING1 DB 'please 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:DAT

30、AS,SS:STACKSSTART: MOV AX,DATAS MOV DS,AX ;此處輸入代碼段代碼 LEA DX,STRING1;輸入提示語'plese input 10 numbers:' MOV AH,09 INT 21H MOV CX,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個數和第SI+1個數的大小 MOV AL,SI INC SI CM

31、P AL,SI JB CHANGE ;若小于則轉CHANGEL2: LOOP L1 ;小循環(CX自動減1),若CX=0則結束 L3: INC BL CMP BL,10 JB L0 ;若大循環有10次了,則轉OUTPUT JMP OUTPUTCHANGE:;交換兩個數 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:;循環輸出 MOV DL,SI MOV

32、AH,02 INT 21H INC SI LOOP L4 MOV AH,4CH INT 21HCODES ENDS END START輸出結果為:實驗8排序實驗(多位數排序)實驗內容:從首地址為1000H開始存放10個數,將這些數按降序排列.完整代碼如下:DATA SEGMENT ;CHANGE函數DI,SI為入口函數,交換SI,DI的值,SI,DI值已經大變BUFFER DB 100 DB ? DB 100 DUP(?) DB "$" ORG 1000HN EQU 10STOREDATA DB 110 DUP(30H) ;每個數最大為10位TEMP1 DB 12 DUP(

33、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,SS:STACKSTART: MOV AX,DATA MOV DS,AX ;MOV AX,STACK ;MOV SS,AX ;可以有可以無,因為其已經默認為SS了 MOV DX,OFFSET BUFFER MOV AH,0AH INT 21H CALL TURNLINE LEA SI,BUF

34、FER 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 PRINT1 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 GOON6PRI

35、NT0: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 PROC ;以SI為入口傳遞 MOV BX,SI ; LEA DI,TEMP2;GETLAST: ; CALL TEMPSAVE ; INC DL ; CMP DL,N ; JE GOON1 ; LEA DI,TEMP2 ; JMP GETLAST ;TEMP2始終指向當前最后一個數;GO

36、ON1: MOV CL,NCOMPARE1: MOV SI,BX LEA DI,TEMP1 CALL TEMPSAVE ;TEMP1指向第一個數,錯啦,為什么呢,因為那樣比不會進行變化 MOV SI,BX MOV DH,1 LEA DI,TEMP1 PUSH SI COMPARE2: LODSB MOV AH,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存

37、入當前最小,因為TEMP1當前元已經存在了 ;不可以再轉存,否則出錯 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 PUSH SI CMP DH,CL JA GOON2 ;比較CL次 LEA DI,TEMP1 JMP COMPARE2 ABOVE: ;TEMP1始終指向當前最小,若當前值大于時最小時前移 ;此時TEMP1不便,只需前移就好,交換前后兩個數的大小 INC DH POP SI PUSH SI S

38、UB 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 COMPARE1 JMP GO RET COMPARE ENDP ;存儲函數思路:從最后一位開始存,首位均置零,最高10位 BUFFERTOSTORE PROC MOV CL,10 ADD SI,2 ; SUB DI,3 STORE: MOV AL,SI CMP AL,2CH ;直到SI指向,(結束一

39、個數),再進行存儲 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,BUFFER ADD AX,1 ;注意邊界要取好,因其也有值 CMP SI,AX JE JMP1 MOV AL,SI CMP AL,2CH JE JMP1 JMP STOREIN1 ;條件控制循環JMP1 :MOV SI,BX INC SI ;進行存儲下個數 INC DX ;使DI加1因為前幾位

40、已經用了 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 ;往SI存入值 POP SI PUSH SI CALL TEMPSAVE ;*把DI的值存入SI中 POP DI LEA SI,TEMP3 CALL TEMPSAVE ;*把SI的值存入DI中 RET CHANGE ENDP TEMPSAVE PROC ;存儲中間變量

41、的函數,以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 CODE ENDSEND START輸出結果為:實驗9設置光標的實驗實驗內容:設置光標,起始位置為第5行第6列,結束位置為第8行第6列。完整代碼如下:DATAS SEGMENT ;此處輸入數據段代碼 DATAS ENDSSTACKS SEGMENT ;此處輸入堆棧段

42、代碼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;設置頁 MOV 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 I

43、NT 21HCODES ENDS END START輸出結果為:(任意輸入一個字符,光標跳到5行6列,再任意輸入一個字符,光標跳到8行6列)這里光標截圖后是看不到的,所以就不截圖了實驗10 計算N!的實驗實驗內容:在鍵盤輸入數字,結果顯示在屏幕上。DATAS SEGMENT ;段定義(結構) ;此處輸入數據段代碼 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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論