【正文】
示也可采用移位并判斷該位的方式進行。(b) 十進制數(shù)采用除以 10 取商的方式。(d) 注意去掉最高位的“0”。 實驗六 中斷程序設(shè)計(一)實驗?zāi)康闹袛喾?wù)子程序的編寫。BIOS 和 DOS 中斷調(diào)用。(二)實驗設(shè)備硬件環(huán)境:IBMPC 及其兼容機 軟件環(huán)境:操作系統(tǒng) 以上 編輯程序EDIT 或其它編輯程序 匯編程序 ; 連接程序:;調(diào)試程序:(三)實驗內(nèi)容和要求實驗內(nèi)容:,用于輸入一個小寫字母,輸出大寫字母。要求:分別用BIOS 和 DOS 中斷調(diào)用來實現(xiàn)(四) 實驗準(zhǔn)備復(fù)習(xí) DOS 啟動方式和 DOS 有關(guān)命令的使用;閱讀本書后的附錄,熟悉掌握 DEBUG 調(diào)試程序中的 A、D、E、G、Q、R、T、U 命令的書寫格式及功能;分析BIOS 和 DOS 中斷調(diào)用的功能和區(qū)別(五)實驗步驟 。DOS功能調(diào)用輸入字符,如果是小寫,就改成大寫code segment assume cs:codestart: MOV si,5re: mov ah,1 int 21h push ax mov dl,13。回車 mov ah,2 int 21h mov dl,10。 mov ah,2 int 21h pop ax cmp al,39。a39。 jb skip cmp al,39。z39。 JA SKIP SUB AL,32SKIP: MOV AH,2 MOV DL,AL INT 21H mov dl,13?;剀?mov ah,2 int 21hmov dl,10。回車 mov ah,2 int 21h sub si,1 jnz re MOV AH,4CH INT 21HCODE ENDS END START。BIOS功能調(diào)用輸入字符,如果是小寫,就改成大寫code segment assume cs:codestart: MOV si,5re: mov ah,0 int 16H push ax mov Al,13?;剀?mov ah,E int 10h mov Al,10。 int 10h pop ax cmp al,39。a39。 jb skip cmp al,39。z39。 JA SKIP SUB AL,32SKIP: MOV AH,0 INT 10H mov Al,13?;剀?mov ah,E int 10h mov Al,10。 int 10h sub si,1 jnz re MOV AH,4CH INT 21HCODE ENDS END START ,分析程序的運行結(jié)果(六)實驗結(jié)果分析利用實驗中源程序中的輸出方法,分析BIOS 和 DOS 中斷調(diào)用的功能和區(qū)別。BIOS功能調(diào)用功能更為強大,但參數(shù)設(shè)置復(fù)雜DOS功能調(diào)用實現(xiàn)相對簡單,但功能不如BIOS強DOS功能調(diào)用格式相對固定,根據(jù)AH值不同,使得在執(zhí)行INT 21H指令時有不同功能BIOS調(diào)用對不同的設(shè)備,int后所接參數(shù)都不一樣,而且AH的值也決定其操作