Advertisement
utroz

[ASM] Random Print

Jun 29th, 2011
176
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; @AUTHOR #uTRoz#.
  2. ; Visit: http://Gcoders.wordpress.com
  3. ; Result: print 0000 until 9999.
  4.  
  5. CODE__SEG SEGMENT
  6.     ASSUME  CS:CODE__SEG
  7.     ORG 100H
  8.    
  9. @MAIN   PROC NEAR
  10.     MOV AH, 02H
  11.     MOV BH, 030H    ;start all values in 0.
  12.     MOV BL, 030H
  13.     MOV CH, 030H
  14.     MOV CL, 030H
  15.  
  16. @LOOP_CL:
  17.     CMP CL,38H  ;compare.
  18.     JA @LOOP_CH ;jump if above.
  19.     CALL @PRINT
  20.     INC CL  ;auto-increment.
  21.     CALL @LOOP_CL  
  22. ;--------- 
  23.  
  24. @LOOP_CH:
  25.     CMP CH,38H  ;compare.
  26.     JA @LOOP_BL ;jump if above.
  27.     CALL @PRINT
  28.     INC CH  ;auto-increment.
  29.     CALL @LOOP_CH  
  30. ;---------
  31.  
  32. @LOOP_BL:
  33.     CMP BL,38H  ;compare.
  34.     JA @LOOP_BH ;jump if above.
  35.     CALL @PRINT
  36.     INC BL  ;auto-increment.
  37.     CALL @LOOP_BL  
  38. ;---------
  39.  
  40. @LOOP_BH:
  41.     CMP BH,40H  ;compare.
  42.     JZ @EXIT    ;jump if above.
  43.     CALL @PRINT
  44.     INC BH  ;auto-increment.
  45.     CALL @LOOP_BH
  46. ;---------
  47.     INT 20H
  48.    
  49. @MAIN   ENDP
  50.  
  51. @EXIT:
  52.     INT 20H ;leave to DOS.
  53.  
  54. @PRINT  PROC NEAR
  55.     MOV DL, BH
  56.     INT 21H
  57.     MOV DL, BL
  58.     INT 21H
  59.     MOV DL, CH
  60.     INT 21H
  61.     MOV DL, CL
  62.     INT 21H
  63.     MOV DL, 00
  64.     INT 21H
  65.     RET
  66. @PRINT  ENDP   
  67.    
  68. CODE__SEG ENDS
  69. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement