Search

My final project in Assembly

;color box

model small.stack 256h
.dataa1 db" linat-ang BAKA$" a2 db" Bulalo$"a3 db" Tinulang manok$"a4 db" Linat-ang Baboy$"a5 db" 1 serve PANSIT$"a6 db" 1 serve Humba$"a7 db" 1 serve Halang2x$"converges db " GRAND ROYAL RESTAURANT$";----------------------------------------------------------------------------msg db"[1]VIEW ALL [0] exit $"
hot_soap_sub1 db " HOT SOUP 1 serve" db 0Dh,0Ah,0Ah," [a]Linat-ang BAKA=25 [c]Tinulang manok=20" db 0Dh,0Ah,0Ah," [b]Bulalo=30 [d]Linat-ang Baboy=13" db 0Dh,0Ah,0Ah," ----------------------------------------$",0Ah
more_foods_sub1 db " MORE FOODS" db 0Dh,0Ah,0Ah," [e]1 serve Pancit=8 [g]1 serve Halang2x=20" db 0Dh,0Ah,0Ah," [f]1 serve Humba=25" db 0Dh,0Ah,0Ah," ----------------------------------------$",0Ah ;-----------------------------------------------------------------------------sub2 db "[a] VIEW AWARDS" db 0Dh,0Ah,0Ah," ----------------------------------------$",0Ah ;----------------------------------------------------------------------------detail db " Awards" db 0Dh,0Ah,0Ah," DATE Rewarded Rewards" db 0Dh,0Ah,0Ah," jan 6,2008 Best Sugbahan" db 0Dh,0Ah,0Ah," jun 13,205 Most outstanding Sugbahan" db 0Dh,0Ah,0Ah," dec 25,2006 Best FastFood" db 0Dh,0Ah,0Ah," feb 6,2001 Best Foods" db 0Dh,0Ah,0Ah," ----------------------------------------" db 0Dh,0Ah,0Ah," press any key to back to main menu$",0Ah ;----------------------------------------------------------------------------- addition db'[A]dd','$' subtraction db'[S]ub','$' multiplication db'[M]ul','$' divide db'[D]iv','$' mssg db'Enter your choice[(a)-(g)]:','$' msg1 db'Pila ra man imo paliton: PESOS ','$' msg2 db'Pila man kabuok serve?:','$' ur_money db "your money:$" sum db'Your changes is:','$' diff db'Your changes is:','$' mult db'The total is:','$' dive db'The answer is:','$'
wrong db' Invalid Input!','$' again db'Do you want to buy again[Y/N]?','$' rem db'remainder:','$'
num1 dw ? num2 dw ?subt1 db "akong bayad:$"minus db "kuhaan sa total:$" ;-------------------------------------------computations----------------------code db "MY FAVORITE LETTER IS:$"
;----------------------------------------------------------------------------
input db "Enter your choice:$";---------------------------
pawala db "error input$";--------------------------.codestart:
;--------------------clear screenmov ax, 0600hmov bh,07hmov cx,0000hmov dx,184fhint 10h;-------------------first box colorcall box_color;---------------------------
mov ax,@datamov ds,ax
mov dh,14mov dl,30mov ah,02hxor bh,bhint 10hmov dx,offset codemov ah,09hint 21h
;----------------------inputmov ah, 01hint 21hmov dl,al
;----------------------enterxor ah,ahint 16h ;----------------akong if elsecmp dl, 'A'je ada
jne startstarttt:call clrcall startfive55:call clrxor ah,ahint 16h call fivecall clr;----------location sa boxada:call clrcall box_colormov dh,4mov dl,26mov ah,02hxor bh,bhint 10hmov dx,offset msgmov ah,09hint 21h
mov dx, offset sub2mov ah, 09hint 21h
mov dh,15mov dl,28mov ah,02hxor bh,bhint 10hmov dx,offset inputmov ah,09hint 21h
;----------------------inputmov ah, 01hint 21hmov dl,al
;----------------------enterxor ah,ahint 16h
;----------------akong if elsecmp dl, '1'je five5cmp dl, '0'je humanncmp dl, 'a'je detalyeejne startt;---------------------------startt:call startdetalyee:call detailsfive5:call fivehumann:call human;--------------------------------------------details:call clrcall box_colorcall detalyecall input_key;----------------------------------------five:call clrcall box_color
mov dh,3mov dl,26mov ah,02hxor bh,bhint 10hmov dx, offset converges mov ah, 09hint 21h
mov dh,6mov dl,26mov ah,02hxor bh,bhint 10hmov dx, offset hot_soap_sub1 mov ah, 09hint 21h
mov dh,14mov dl,26mov ah,02hxor bh,bhint 10hmov dx, offset more_foods_sub1 mov ah, 09hint 21h
mov ax, @data mov ds, axchoice:mov dh,23mov dl,26mov ah,02hxor bh,bhint 10h mov ax, offset mssg call put_string
mov ah,1h int 21h
mov bl,al;--------------------------------------------------------------------------- cmp bl,'a' je aa1 cmp bl,'b' je aa2 cmp bl,'c' je aa3 cmp bl,'d' je aa4 cmp bl,'e' je aa5 cmp bl,'f' je aa6 cmp bl,'g' jne aa77jne fiveefivee:call five
aa77:call aa7 aa1:call lokmov dx, offset a1 call linka equ 25call multingmov num1, acall multiaa2:call lokmov dx, offset a2 call linkb equ 30call multingmov num1, bcall multiaa3:call lokmov dx, offset a3 call linkcc equ 20call multingmov num1, cccall multiaa4:call lokmov dx, offset a4 call linkd equ 13call multingmov num1, dcall multiaa5:call lokmov dx, offset a5 call linke equ 8call multingmov num1, ecall multiaa6:call lokmov dx, offset a6 call linkf equ 25call multingmov num1, fcall multi aa7:call lokmov dx, offset a7 call linkg equ 20call multingmov num1, gcall multilink:mov ah, 09hint 21h ret;------------------------------------------------------------ lok: mov dh,25 mov dl,26 mov ah,02h xor bh,bh int 10hret multing: mov dh,34 mov dl,26 mov ah,02h xor bh,bh int 10h ;mov ax, offset msg1 ;call put_string ;call get_numret ;mov num1, axmulti: mov dh,27 mov dl,26 mov ah,02h xor bh,bh int 10h mov ax, offset msg2 call put_string call get_num
mov num2, ax
mov dh,29 mov dl,26 mov ah,02h xor bh,bh int 10h mov ax, offset mult call put_string
mov cx, num2 mov ax, num1 mul cx
call put_num
jmp finish
;jmp finishfinish:
mov dh,31 mov dl,26 mov ah,02h xor bh,bh int 10h mov ax,offset again call put_string
call get_char
mov bl,al
cmp bl,'Y' je choicee cmp bl,'y' je choicee
cmp bl,'N' je subing cmp bl,'n' je subing
mov ax,offset wrong call put_string jmp finish;-------------------------------------------------subtracting
subing: mov dh,33 mov dl,26 mov ah,02h xor bh,bh int 10h mov ax, offset subt1 call put_string call get_num
mov num1, ax
mov dh,35 mov dl,26 mov ah,02h xor bh,bh int 10h mov ax, offset minus call put_string call get_num
mov num2, ax mov dh,37 mov dl,26 mov ah,02h xor bh,bh int 10h mov ax, offset diff call put_string
mov ax, num1 sub ax, num2 call put_num
jmp human
;------------------------------------------------------------- choicee:call fivecall choice mij: cmp ax,num2 jb micher
sub ax,num2 inc cx jmp mij
micher: mov bx,ax
mov ax,cx call put_num
cmp bx,0 ; je finish
; mov ax,offset rem ; call put_string
mov ax,bx call put_numcho: end_else: mov ax, 4c00h int 21h
put_string: mov dx, ax mov ah, 9h int 21h ret
get_char: mov ah, 1h int 21h ret
put_char: mov dl,al mov ah, 2h int 21h ret
get_num: push bx push cx push dx
mov dx, 1 mov bx, 0 mov cx, 0 call get_char cmp al, ' ' jne newline mov dx, -1 call get_char
newline: push dx cmp al, 13 je fin_read sub al, '0' mov bl, al mov ax, 10 mul cx mov cx, ax add cx, bx call get_char read_loop: cmp al, 13 je fin_read sub al, '0' mov bl, al mov ax, 10 mul cx mov cx, ax add cx, bx call get_char jmp read_loop
fin_read: mov ax, cx pop dx cmp dx, 1 je fin_getn neg ax
fin_getn: pop dx pop cx pop bx ret
put_num: push bx push cx push dx
mov dx, 0 push dx mov cx,10 cmp ax, 0 jge calc_digits neg ax push ax mov al, ' ' call put_char pop ax
calc_digits:
div cx add dx, '0' push dx mov dx, 0 cmp ax, 0 jne calc_digits
display_loop: pop ax cmp ax, 0 je end_display_loop call put_char jmp display_loop
end_display_loop: pop dx pop cx pop bx ret;--------------------------input charmov ah, 01hint 21hmov dl,al
xor ah,ahint 16h
mov dl,al
cmp dl,'Y' je fives cmp dl,'y' je fives
cmp dl,'N' je human cmp dl,'n' je humanretfives:call five
;--------------------------------------------exit:call clrcall box_colormov dh,2mov dl,26mov ah,02hxor bh,bhint 10hmov dx, offset pawalamov ah, 09hint 21hcall human
;-----------------sa clear screenclr: mov ax, 0600hmov bh,07hmov cx,0000hmov dx,184fhint 10hret
cr_loc:;----------cursor location ;sa boxmov dh,20mov dl,26mov ah,02hxor bh,bhint 10hret
input_key:;----------------------inputmov ah, 01hint 21hmov dl,alcall start
box_color:;-----------------box color
mov ax, 0700h ;constant 6 pataas ok ra na cyamov bh, 35h ;-------- color first color/ mov cx,0010h ;sinugdan size left sizemov dx,3544h ;--------size sa first color/main color sa right side ra ni------ ang 2c15h= ang 2 ky x2 ang pic boxint 10hret
;-----mov dx,1043h
;mov ax, 0600h;mov bh, 34h;mov cx,0010h;mov dx,3544h;int 10h;ret;----------------------------detalye:mov dh,0mov dl,26mov ah,02hxor bh,bhint 10hmov dx, offset detailmov ah, 09hint 21hret
;---------------sa terminatehuman: mov ax, 4c00hint 21h
end start

0 comments: