1 ; Example assembly language program --
2 ; Author: Karllen
3 ; Date: revised 05/2014
4
5 .386
6 .MODEL FLAT
7
8 ExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD
9
10 INCLUDE io.h ; header file for input/output
11
12 cr EQU 0dh ; carriage return character
13 Lf EQU 0ah ; line feed
14
15 .STACK 4096 ; reserve 4096-byte stack
16
17 .DATA ; reserve storage for data
18
19 promot BYTE "The program is to print Ascii from 10h to 100h",cr,Lf,0
20 line DWORD ?
21 row DWORD ?
22 ccf BYTE " ",0
23 crlf BYTE cr,Lf,0
24 char BYTE 1 DUP(?)
25
26 .CODE ; start of main program code
27 _start:
28 output promot
29 mov row,0
30 mov line,0
31 mov char,0Fh
32 doFirstWhile:
33 inc line
34 cmp line,15
35 jg endFirstWhile
36 mov row,0
37 doSecondWhile:
38 inc row
39 cmp row,16
40 jg endSecondWhile
41 add char,1
42 output char
43 output ccf
44 jmp doSecondWhile
45 endSecondWhile:
46 output crlf
47 jmp doFirstWhile
48 endFirstWhile:
49
50 INVOKE ExitProcess, 0 ; exit with return code 0
51
52 PUBLIC _start ; make entry point public
53
54 END ; end of source code