程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 匯編語言 >> 匯編源碼系列之col

匯編源碼系列之col

編輯:匯編語言

這個都是過去DOS時代的匯編源碼,雖然已經過去了,但是對於學習匯編還是有幫助的,匯編語言只是程序員一門基礎語言,大多人掌握即可,不一定要深入研究.......

;             --COLOURS ROUTINE--
;  for tasm
;
cseg segment
assume cs:cseg, ds:cseg
org 100H
begin:
        mov es,cs:[video]
        mov ax,3
        int 10h
        mov cs:[col],0fh
        mov di,18
        lea si,colr2
        call mess
        mov cx,16
        mov di,160
        xor al,al
rec1:
        push cx
        push di
        lea si,colour
        call mess
        call hex2
        mov bh,al
        push cx
        mov cx,16
col2:
        mov es:[di],byte ptr "#"
        mov es:[di+1],bh
        inc bh
        add di,2
        loop col2
        pop cx
        pop di
        add di,160
        add al,10h
        add cs:[col],10h
        pop cx
        loop rec1
        mov ah,2
        mov bh,0
        mov dh,17
        mov dl,0
        int 10h
        mov ah,4ch
        int 21h
col       db 0
colour     db "Colour ",0
colr2      db "0123456789ABCDEF",0
colnum     db 0
video      dw 0b800h
hex2      proc near
        push ax
        and al,011110000b
        shr al,4
        call hex1
        pop ax
        push ax
        and al,01111b
        call hex1
        pop ax
        ret
hex2      endp
hex1      proc near
        mov ah,cs:[col]
        cmp al,10
        jb hnum1
        add al,'A'-10
        jmp hnum2
hnum1:
        add al,'0'
hnum2:
        mov es:[di],ax
        add di,2
        ret
hex1      endp
mess      proc
        push ax
        mov ah,cs:[col]
conmess:
        mov al,cs:[si]
        or al,al
        jz endmess
        mov es:[di],ax
        inc si
        add di,2
        jmp conmess
endmess:
        pop ax
        ret
mess      endp
cseg ends
end begin

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved