Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- org 100h
- jmp main
- toSwap1 db 'a'
- toSwap2 db 'b'
- result dw ?
- numToNeg dw -9
- string db 'm', 'a', 'g', 's', 'h', 'i', 'm', 'i', 'm', 'v', 'e', 'n', 'e', 'h', 'e', 'n', 'i', 'm' ,0Dh,0Ah,'$'
- array db "0000", 0Dh,0Ah, 24h ; line feed return and stop symbol 24h=$ (ASCII).
- num1 dw 0xAC45
- main:
- push numToNeg
- call to_neg
- PRINTN "func1 - should print neg of:-9"
- call print_num
- PRINTN
- add sp,2
- push offset toSwap1
- push offset toSwap2
- PRINTN "func 2 - should swap:"
- PRINTN "values before:"
- PRINTN "toSwap1: a"
- PRINTN "toSwap2: b"
- PRINTN
- PRINTN "values after:"
- call swap
- PRINTN
- push num1
- push offset array
- call save_hex
- ; jmp end
- to_neg proc
- push bp
- mov bp,sp
- mov ax,[bp+4]
- NOT ax
- inc ax
- mov sp,bp
- pop bp
- ret
- to_neg endp
- swap proc
- push bp
- mov bp,sp
- mov ax,[bp+4]
- mov cx,[bp+6]
- mov [bp+6],ax
- mov [bp+4],cx
- mov bx,[bp+6]
- mov ax,[bx]
- PRINT "tSwap1: "
- call print_al_chr
- mov bx,[bp+4]
- mov ax,[bx]
- PRINT "toSwap2: "
- call print_al_chr
- pop bp
- ret 2
- swap endp
- save_hex proc
- push bp
- mov bp,sp
- sub sp,8
- mov dx,0
- mov bx,16
- mov ax,[bp+6]
- div bx
- mov [bp-2],dx
- div bx
- mov [bp-4],dx
- div bx
- mov [bp-6],dx
- div bx
- mov [bp-8],dx
- cmp [bp-2,9
- ja func1
- add [bp-2],'0'
- jmp continue1
- func1:
- add [bp-2],'A'
- sub [bp-2],10
- continue1:
- cmp [bp-4],9
- ja func2
- add [bp-4],'0'
- jmp continue2
- func2:
- add [bp-4],'A'
- sub [bp-4],10
- continue2:
- cmp [bp-6],9
- ja func3
- add [bp-6],'0'
- jmp continue3
- func3:
- add [bp-6],'A'
- sub [bp-6],10
- continue3:
- cmp [bp-8],9
- ja func4
- add [bp-8],'0'
- jmp continue4
- func4:
- add [bp-8],'A'
- sub [bp-8],10
- continue4:
- mov bx,[bp+4]
- mov dx,[bp-8]
- mov [bx],dl
- mov dx,[bp-6]
- mov [bx+1],dl
- mov dx,[bp-4]
- mov [bx+2],dl
- mov dx,[bp-2]
- mov [bx+3],dl
- mov ax,bx
- PRINTN "hex string: "
- call print_ax_str
- pop bp
- retn 6
- save_hex endp
- include magshimim.inc
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement