• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            coreBugZJ

            此 blog 已棄。

            微機(jī)實(shí)驗(yàn) MASM 匯編實(shí)現(xiàn)進(jìn)制轉(zhuǎn)換

                    電子系同學(xué) YLY 的微機(jī)實(shí)驗(yàn),x86 MASM 匯編,DOS 21H 中斷,輸入一個(gè) 4 位的十進(jìn)制數(shù)字,輸出二進(jìn)制和十六進(jìn)制。

                    程序有問(wèn)題,讓我?guī)兔纯矗瑑扇藚s幾乎同時(shí)發(fā)現(xiàn)錯(cuò)誤所在,囧。。。

                    我干脆把它修改正確了,放上來(lái),我修改的地方都做了說(shuō)明。

                    我寫匯編是用 NASM 的,對(duì) MASM 不熟,盡管我也是從 MASM 開(kāi)始學(xué)習(xí)匯編的。所以程序中的代碼我不完全會(huì)寫,但是修改程序邏輯還是可以的。


              1DATA    SEGMENT
              2INF1 DB "PLEASE INPUT A NUMBER: $ ";提示語(yǔ)言
              3INF2 DB "OH NO. THIS IS NOT ALLOWED"
              4INPUT     DB 4 DUP(0)
              5RESULT  DW ?
              6SIXTEEN DB 4 DUP(0)
              7DATA    ENDS
              8
              9SSEG SEGMENT STACK 'STACK'
             10        DW 100 DUP(?)
             11SSEG ENDS
             12
             13CODE    SEGMENT
             14    ASSUME DS:DATA, CS:CODE, SS:SSEG
             15
             16START:  MOV AX,DATA
             17    MOV DS,AX
             18    LEA DX,INF1
             19    LEA SI,INPUT
             20    MOV AH,9
             21        INT 21H
             22    MOV AX,0
             23    MOV CX,4
             24
             25JUDGE:  MOV AH,1  ;判斷是否符合要求
             26    INT 21H
             27    CMP AL,30H
             28    JB JUDGE
             29    CMP AL,39H
             30    JA JUDGE
             31    MOV [SI],AL
             32    INC SI
             33    LOOP JUDGE
             34    MOV CX,4
             35    MOV DL,' '
             36    MOV AH,02H
             37    INT 21H
             38    XOR AX,AX
             39    MOV BX,0              
             40    LEA SI,INPUT
             41
             42AGAIN:    ADD AX,AX    
             43    MOV BX,AX
             44    ADD AX,AX
             45    ADD AX,AX
             46    ADD AX,BX
             47    MOV BH,0
             48    MOV BL,[SI] 
             49    SUB BL,30H
             50    ADD AX,BX ;部分和計(jì)算
             51    INC SI
             52    LOOP AGAIN
             53    MOV CX,16
             54    MOV BX,AX
             55    ; MOV DX,AX ; coreBugZJ delete
             56    push ax     ; coreBugZJ insert
             57
             58PRINT:    ROL BX,1
             59    JC BIG
             60    MOV DL,30H
             61    MOV AH,02H
             62    INT 21H
             63    LOOP PRINT
             64    JMP AD
             65BIG:    MOV DL,31H
             66    MOV AH,02H
             67    INT 21H
             68    LOOP PRINT
             69 AD:    MOV DL,' '
             70    MOV AH,02H
             71    INT 21H
             72
             73NEXT:   ; MOV AX,DX ; coreBugZJ delete
             74    pop ax      ; coreBugZJ insert
             75    mov dx, ax  ; coreBugZJ insert
             76    MOV DI,OFFSET SIXTEEN
             77    MOV BX,AX
             78    push ax     ; coreBugZJ insert
             79
             80    ; coreBugZJ  NEXT4-NEXT3-NEXT2-NEXT1  <<==  NEXT1-NEXT2-NEXT3-NEXT4
             81
             82    AND BH,0F0H
             83    MOV CL,4
             84    SHR BH,CL
             85    ADD BH,30H
             86    CMP BH,3AH
             87    JB NEXT4
             88    ADD BH,07H
             89NEXT4:  MOV DL,BH
             90    MOV AH,02H
             91    INT 21H
             92
             93    AND DH,0FH
             94    ADD DH,30H
             95    CMP DH,3AH
             96    JB NEXT3
             97    ADD DH,07H
             98NEXT3:    ; MOV DL,AH ; coreBugZJ delete
             99    mov dl, dh  ; coreBugZJ insert
            100    MOV AH,2
            101    INT 21H
            102
            103    AND BL,0F0H
            104    MOV CL,4
            105    SHR BL,CL
            106    ADD BL,30H
            107    CMP BL,3AH
            108    JB NEXT2
            109    ADD BL,07H
            110NEXT2: MOV DL,BL
            111    MOV AH,2
            112    INT 21H
            113
            114    pop ax ; coreBugZJ insert
            115    AND AL,0FH
            116    ADD AL,30H
            117    CMP AL,3AH
            118    JB NEXT1
            119    ADD AL,07H
            120NEXT1: MOV DL,AL
            121    MOV AH,2
            122    INT 21H 
            123
            124
            125EXIT:    MOV AH,4CH
            126    INT 21H 
            127CODE ENDS
            128    END START
            129






            posted on 2011-09-27 22:36 coreBugZJ 閱讀(547) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Assemble課內(nèi)作業(yè)

            久久午夜综合久久| 四虎国产精品成人免费久久| 亚洲欧美精品一区久久中文字幕| 久久精品女人天堂AV麻| 亚洲va久久久久| 久久亚洲精品中文字幕| 久久久久综合网久久| 久久久久久一区国产精品| 日韩人妻无码精品久久久不卡| …久久精品99久久香蕉国产| 色天使久久综合网天天| 国产V亚洲V天堂无码久久久| 久久久久人妻精品一区三寸蜜桃| 亚洲欧美日韩中文久久| 久久久免费观成人影院| 久久精品国产91久久麻豆自制 | 91精品国产高清久久久久久国产嫩草 | 91久久婷婷国产综合精品青草| 久久精品亚洲乱码伦伦中文| 久久精品人成免费| 久久婷婷色香五月综合激情| 日韩一区二区久久久久久| 亚洲αv久久久噜噜噜噜噜| 久久久久亚洲AV无码去区首| 精品久久久久久成人AV| 99蜜桃臀久久久欧美精品网站| 日本欧美国产精品第一页久久| 久久久久国产精品| 69SEX久久精品国产麻豆| 久久久久久伊人高潮影院| 久久久精品人妻无码专区不卡| www.久久99| 99久久99久久精品免费看蜜桃| 日韩人妻无码精品久久免费一| 久久久国产视频| 久久人人爽人人爽人人爽| 亚洲精品午夜国产va久久| 香蕉久久久久久狠狠色| 亚洲综合日韩久久成人AV| 亚洲精品乱码久久久久久蜜桃图片 | 一本一道久久a久久精品综合|