?? 610.asm
字號:
DSEG SEGMENT
VAL1 DW 000FH
DSEG ENDS
CSEG SEGMENT
BANDO PROC FAR
ASSUME CS:CSEG,DS:DSEG
START:PUSH DS
SUB AX,AX
PUSH AX
MOV AX,DSEG
MOV DS,AX
PUSH VAL1 ;將val1壓棧
CALL PAIRS ;調用PAIRS
RET
BANDO ENDP
PAIRS PROC NEAR
PUSH BP
MOV BP,SP
PUSH BX
MOV BX,[BP+4] ;(BX)=VAL1
CALL OUTBIN ;調用子程序OUTBIN
MOV CX,8 ;輸出8個空格
SPACE:MOV DL,' '
MOV AH,2
INT 21H
LOOP SPACE
CALL OUTOCT ;調用子程序OUTOCT
CALL CRLF ;調用CRLF
POP BX
POP BP
RET 2
PAIRS ENDP
OUTBIN PROC NEAR
PUSH BX
MOV CX,16
ONEBIT:ROL BX,1
MOV DX,BX
AND DX,1 ;從第15位開始逐個取得VAL1的二進制位
OR DX,30H ;將二進制位變成ASCII
MOV AH,2
INT 21H ;并輸出
LOOP ONEBIT ;循環16次
POP BX
RET
OUTBIN ENDP
OUTOCT PROC NEAR
MOV CX,5 ;
ROL BX,1
MOV DX,BX
AND DX,01
OR DX,30H
MOV AH,2
INT 21H
NEXT: PUSH CX
MOV CL,3
ROL BX,CL
MOV DX,BX
AND DX,7
OR DX,30H
MOV AH,2
INT 21H
POP CX
LOOP NEXT
RET
OUTOCT ENDP
CRLF PROC NEAR
MOV AH,2
MOV DL,0DH
INT 21H
MOV DL,0AH
INT 21H
RET
CRLF ENDP
CSEG ENDS
END START
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -