Compare commits
No commits in common. "6c5e8594c3fc41e56f2ee5337f28aa50790303d8" and "789fa1306cc543b23f83ed3d8203e4cb01cfcc8d" have entirely different histories.
6c5e8594c3
...
789fa1306c
261
wozmon.s
261
wozmon.s
@ -1,261 +0,0 @@
|
|||||||
.arch i8086,jumps
|
|
||||||
.code16
|
|
||||||
.att_syntax prefix
|
|
||||||
#NO_APP
|
|
||||||
.text
|
|
||||||
.type _ZN12_GLOBAL__N_14putcEh, @function
|
|
||||||
_ZN12_GLOBAL__N_14putcEh:
|
|
||||||
movw %sp, %bx
|
|
||||||
movb 2(%bx), %al
|
|
||||||
#APP
|
|
||||||
;# 21 "wozmon.cc" 1
|
|
||||||
mov $0x0e, %ah
|
|
||||||
int $0x10
|
|
||||||
|
|
||||||
;# 0 "" 2
|
|
||||||
#NO_APP
|
|
||||||
ret
|
|
||||||
.size _ZN12_GLOBAL__N_14putcEh, .-_ZN12_GLOBAL__N_14putcEh
|
|
||||||
.type _ZN12_GLOBAL__N_17ReadHexEPKc, @function
|
|
||||||
_ZN12_GLOBAL__N_17ReadHexEPKc:
|
|
||||||
pushw %si
|
|
||||||
pushw %di
|
|
||||||
pushw %bp
|
|
||||||
movw %sp, %bp
|
|
||||||
pushw %ds
|
|
||||||
pushw %ds
|
|
||||||
movw 8(%bp), %ax
|
|
||||||
movw %ax, -2(%bp)
|
|
||||||
.L5:
|
|
||||||
movw -2(%bp), %bx
|
|
||||||
cmpb $32, (%bx)
|
|
||||||
jne .L4
|
|
||||||
incw -2(%bp)
|
|
||||||
jmp .L5
|
|
||||||
.L4:
|
|
||||||
xorw %di, %di
|
|
||||||
movw %di, %ax
|
|
||||||
movw %di, %dx
|
|
||||||
movb $4, %ch
|
|
||||||
.L9:
|
|
||||||
movw %di, %bx
|
|
||||||
movw -2(%bp), %si
|
|
||||||
movb (%bx,%si), %cl
|
|
||||||
cmpb $57, %cl
|
|
||||||
ja .L6
|
|
||||||
addb $-48, %cl
|
|
||||||
.L12:
|
|
||||||
movb %cl, %bl
|
|
||||||
cmpb $15, %cl
|
|
||||||
ja .L3
|
|
||||||
movw %ax, %si
|
|
||||||
movb $12, %cl
|
|
||||||
shrw %cl, %si
|
|
||||||
movb %ch, %cl
|
|
||||||
shlw %cl, %dx
|
|
||||||
orw %si, %dx
|
|
||||||
shlw %cl, %ax
|
|
||||||
movb %bl, -4(%bp)
|
|
||||||
movb -4(%bp), %bl
|
|
||||||
xorb %bh, %bh
|
|
||||||
addw %bx, %ax
|
|
||||||
movw $0, %bx
|
|
||||||
adcw %bx, %dx
|
|
||||||
incw %di
|
|
||||||
cmpw $8, %di
|
|
||||||
jne .L9
|
|
||||||
.L3:
|
|
||||||
movw %bp, %sp
|
|
||||||
popw %bp
|
|
||||||
popw %di
|
|
||||||
popw %si
|
|
||||||
ret
|
|
||||||
.L6:
|
|
||||||
addb $-87, %cl
|
|
||||||
jmp .L12
|
|
||||||
.size _ZN12_GLOBAL__N_17ReadHexEPKc, .-_ZN12_GLOBAL__N_17ReadHexEPKc
|
|
||||||
.type _ZN12_GLOBAL__N_114WriteHexNibbleEh, @function
|
|
||||||
_ZN12_GLOBAL__N_114WriteHexNibbleEh:
|
|
||||||
pushw %bp
|
|
||||||
movw %sp, %bp
|
|
||||||
movb 4(%bp), %al
|
|
||||||
movb %al, %dl
|
|
||||||
xorb %dh, %dh
|
|
||||||
cmpw $9, %dx
|
|
||||||
jle .L14
|
|
||||||
addb $87, %al
|
|
||||||
.L16:
|
|
||||||
movb %al, 4(%bp)
|
|
||||||
popw %bp
|
|
||||||
jmp _ZN12_GLOBAL__N_14putcEh
|
|
||||||
.L14:
|
|
||||||
addb $48, %al
|
|
||||||
jmp .L16
|
|
||||||
.size _ZN12_GLOBAL__N_114WriteHexNibbleEh, .-_ZN12_GLOBAL__N_114WriteHexNibbleEh
|
|
||||||
.section .text.startup,"ax",@progbits
|
|
||||||
.global main
|
|
||||||
.type main, @function
|
|
||||||
main:
|
|
||||||
movw %sp, %bp
|
|
||||||
subw $76, %sp
|
|
||||||
leaw -64(%bp), %di
|
|
||||||
movw $64, %ax
|
|
||||||
pushw %ax
|
|
||||||
xorw %ax, %ax
|
|
||||||
movw %ax, %es
|
|
||||||
pushw %ax
|
|
||||||
pushw %di
|
|
||||||
call memset
|
|
||||||
addw $6, %sp
|
|
||||||
movw %es, %si
|
|
||||||
movw %es, -70(%bp)
|
|
||||||
.L18:
|
|
||||||
#APP
|
|
||||||
;# 11 "wozmon.cc" 1
|
|
||||||
mov $0x00, %ah
|
|
||||||
int $0x16
|
|
||||||
|
|
||||||
;# 0 "" 2
|
|
||||||
#NO_APP
|
|
||||||
pushw %ax
|
|
||||||
movb %al, -71(%bp)
|
|
||||||
call _ZN12_GLOBAL__N_14putcEh
|
|
||||||
addw $2, %sp
|
|
||||||
movb -71(%bp), %al
|
|
||||||
cmpb $13, %al
|
|
||||||
jne .L19
|
|
||||||
movb $0, (%di)
|
|
||||||
leaw -64(%bp), %bx
|
|
||||||
cmpw %bx, %di
|
|
||||||
jne .L21
|
|
||||||
addw $4, %si
|
|
||||||
adcw $0, -70(%bp)
|
|
||||||
.L22:
|
|
||||||
movw %si, %ax
|
|
||||||
andw $-4, %ax
|
|
||||||
movw %ax, %es
|
|
||||||
movw -70(%bp), %di
|
|
||||||
movw $8, %bx
|
|
||||||
.L25:
|
|
||||||
movw %ax, -76(%bp)
|
|
||||||
movw %bx, -74(%bp)
|
|
||||||
movb $12, %cl
|
|
||||||
movb %cl, -71(%bp)
|
|
||||||
pushw -68(%bp)
|
|
||||||
call _ZN12_GLOBAL__N_114WriteHexNibbleEh
|
|
||||||
movw -76(%bp), %ax
|
|
||||||
movw %ax, %dx
|
|
||||||
movb -71(%bp), %cl
|
|
||||||
shrw %cl, %dx
|
|
||||||
movb $4, %cl
|
|
||||||
shlw %cl, %di
|
|
||||||
shlw %cl, %ax
|
|
||||||
orw %dx, %di
|
|
||||||
addw $2, %sp
|
|
||||||
movw -74(%bp), %bx
|
|
||||||
decw %bx
|
|
||||||
jne .L25
|
|
||||||
movb $58, %al
|
|
||||||
pushw %ax
|
|
||||||
call _ZN12_GLOBAL__N_14putcEh
|
|
||||||
movw %es, %di
|
|
||||||
leaw 4(%di), %cx
|
|
||||||
addw $2, %sp
|
|
||||||
.L26:
|
|
||||||
movw %cx, -74(%bp)
|
|
||||||
movb $32, %al
|
|
||||||
pushw %ax
|
|
||||||
call _ZN12_GLOBAL__N_14putcEh
|
|
||||||
movb (%di), %dl
|
|
||||||
movb %dl, %al
|
|
||||||
movb %dl, -71(%bp)
|
|
||||||
xorb %ah, %ah
|
|
||||||
movb $4, %cl
|
|
||||||
sarw %cl, %ax
|
|
||||||
pushw %ax
|
|
||||||
call _ZN12_GLOBAL__N_114WriteHexNibbleEh
|
|
||||||
movb -71(%bp), %dl
|
|
||||||
andb $15, %dl
|
|
||||||
pushw %dx
|
|
||||||
call _ZN12_GLOBAL__N_114WriteHexNibbleEh
|
|
||||||
incw %di
|
|
||||||
addw $6, %sp
|
|
||||||
movw -74(%bp), %cx
|
|
||||||
cmpw %di, %cx
|
|
||||||
jne .L26
|
|
||||||
movb $13, %al
|
|
||||||
pushw %ax
|
|
||||||
call _ZN12_GLOBAL__N_14putcEh
|
|
||||||
movb $10, %al
|
|
||||||
pushw %ax
|
|
||||||
call _ZN12_GLOBAL__N_14putcEh
|
|
||||||
addw $4, %sp
|
|
||||||
xorw %bx, %bx
|
|
||||||
leaw -64(%bp), %di
|
|
||||||
.L29:
|
|
||||||
movb (%bx,%di), %al
|
|
||||||
testb %al, %al
|
|
||||||
je .L18
|
|
||||||
cmpb $58, %al
|
|
||||||
je .L28
|
|
||||||
incw %bx
|
|
||||||
jmp .L29
|
|
||||||
.L32:
|
|
||||||
xchgw %ax, %di
|
|
||||||
jmp .L18
|
|
||||||
.L21:
|
|
||||||
movb (%bx), %al
|
|
||||||
testb %al, %al
|
|
||||||
je .L23
|
|
||||||
cmpb $114, %al
|
|
||||||
je .L24
|
|
||||||
incw %bx
|
|
||||||
jmp .L21
|
|
||||||
.L19:
|
|
||||||
cmpb $127, %al
|
|
||||||
jne .L30
|
|
||||||
decw %di
|
|
||||||
leaw -64(%bp), %ax
|
|
||||||
cmpw %ax, %di
|
|
||||||
jc .L32
|
|
||||||
movb $8, %al
|
|
||||||
pushw %ax
|
|
||||||
movb %al, -71(%bp)
|
|
||||||
call _ZN12_GLOBAL__N_14putcEh
|
|
||||||
movb $32, %dl
|
|
||||||
pushw %dx
|
|
||||||
call _ZN12_GLOBAL__N_14putcEh
|
|
||||||
movb -71(%bp), %al
|
|
||||||
pushw %ax
|
|
||||||
call _ZN12_GLOBAL__N_14putcEh
|
|
||||||
addw $6, %sp
|
|
||||||
jmp .L18
|
|
||||||
.L30:
|
|
||||||
movb %al, (%di)
|
|
||||||
incw %di
|
|
||||||
jmp .L18
|
|
||||||
.L24:
|
|
||||||
call *%si
|
|
||||||
jmp .L22
|
|
||||||
.L23:
|
|
||||||
leaw -64(%bp), %ax
|
|
||||||
pushw %ax
|
|
||||||
call _ZN12_GLOBAL__N_17ReadHexEPKc
|
|
||||||
addw $2, %sp
|
|
||||||
xchgw %ax, %si
|
|
||||||
movw %dx, -70(%bp)
|
|
||||||
movb $10, %al
|
|
||||||
pushw %ax
|
|
||||||
call _ZN12_GLOBAL__N_14putcEh
|
|
||||||
addw $2, %sp
|
|
||||||
jmp .L22
|
|
||||||
.L28:
|
|
||||||
leaw 1(%bx,%di), %bx
|
|
||||||
pushw %bx
|
|
||||||
call _ZN12_GLOBAL__N_17ReadHexEPKc
|
|
||||||
addw $2, %sp
|
|
||||||
movw %ax, (%si)
|
|
||||||
movw %dx, 2(%si)
|
|
||||||
jmp .L18
|
|
||||||
.size main, .-main
|
|
||||||
.ident "GCC: (GNU) 6.3.0"
|
|
Loading…
Reference in New Issue
Block a user