Welcome, guest! Login / Register - Why register?
Psst.. new poll here.
Psst.. new forums here.
Microsoft is blocking us again (TY IP Reputation!) so just use oauth login instead. :)

Paste

Pasted as C by dEVIANT ( 15 years ago )
org 1000 
dcx sp         ; inicializacia zasobnika (0FFFFh) 
lxi h,text1      ; skopiruj text1 do h 
call putstr      ; vypis uvodny text 
mvi b,0         ; 
mvi c,1         ; pomocna promenna boolean typ 
lxi h,text1 

chloop: 
  call getchar 
   cpi 10      ; porovna sa register "a" s backspacom 
   jz chend   ; skoci sa na char_end, ak sa rovna 
   cpi 13      ; porovna sa register "a" s enterom 
   jz chend   ; skoci sa na char_end, ak sa rovna 
   cpi 32      ; porovna sa register "a" s medzerou 
   jz chspac   ; skoci sa na char_space, ak sa rovna 
   cpi '0'       ; nacitany znak sa porovna s '+' 
   jc chadd   ; skoci sa na char_add, ak sa rovna 
   cpi '1'+1       ;  nacitany znak sa porovna s '*'   
   jnc chadd   ;   skoci sa na char_add, ak sa rovna 
  
   jmp chloop   ; nacita sa dalsi znak 

chadd: 
   mvi c,0       
   jmp chloop   ; nacita sa dalsi znak 



chspac: 
   mov a,b 
   add c 
   mov b,a 
   mvi c,1 
   jmp chloop   ; nacita sa dalsi znak 



chend: 
 mov a,b 
   add c 
   mov b,a 
   mvi c,1 
  call print 
  hlt 


del:  ; deli a/b   Vraci a, zbytek b 
mvi d,0; 

deleni: 
cmp b            ; porovna b s a 
jc nedel         ; ak je a < b skonci 
sub b            ; odcita b od a 
inr d            ; zvisi h 
jmp deleni 
nedel: 
mov b,a 
mov a, d
ret            ; vrati sa spet 

prevod: 
cpi 0 
jz konec 
mvi b,10 
call del 
push psw 
mov a,b 
adi 48 
mov M,a 
dcx h 
pop psw 
jmp prevod 


konec: 
adi 48 
mov M,a 
ret 

print: 
mov a,b 
lxi h,vloz+4 
call prevod 
   lxi h,text2   ; skopiruje sa text2 do h 
   call putstr   ; vypise sa text2 
   call newline   ; vypise sa novy riadok 
ret 


text1: db 'Pocet slov reprezentujucich zapis binarneho cisla ...',10,13,'Vloz text: ',0 

text2: db 10,13,'Slov je: ' 

vloz: db '          ',0 



hlt      ; ukonci sa program 

include 'examples8080includegetline.inc' 
include 'examples8080includeputstr.inc' 
include 'examples8080includeputchar.inc' 
include 'examples8080includegetchar.inc' 
include 'examples8080includenewline.inc'

 

Revise this Paste

Your Name: Code Language: