組合語言 列印部分ASCII表

2022-03-27 07:51:54 字數 1857 閱讀 4925

1. 題目:用**形式顯示ascii字元

2.要求:按15行×16列的**形式顯示ascii碼為10h-100h的所有字元,即以行為主的順序及ascii碼遞增的次序依次顯示對應的字元。每16個字元為一行,每行中的相鄰兩個字元之間用空白符或空格符(ascii碼為0或20h)隔開

**如下:

1

;example assembly language program --2;

author: karllen3;

date: revised 05/2014

45 .386

6.model flat

78 exitprocess proto near32 stdcall, dwexitcode:

dword

910 include io.h ;

header file for input/output

1112 cr equ 0dh ;

carriage return character

13 lf equ 0ah ;

line feed

1415 .stack 4096

;reserve 4096-byte stack

1617 .data ;

reserve storage for data

1819 promot byte "

the program is to print ascii from 10h to 100h

",cr,lf,0

20line dword ?

21row dword ?

22 ccf byte "

",023 crlf byte cr,lf,0

24 char byte 1

dup(?)

2526 .code ;

start of main program code

27_start:

28output promot

29mov row,0

30mov line,0

31mov

char,0fh

32dofirstwhile:

33inc

line

34cmp line,15

35jg

endfirstwhile

36mov row,0

37dosecondwhile:

38inc

row39

cmp row,16

40jg

endsecondwhile

41add char,1

42output char

43output ccf

44jmp

dosecondwhile

45endsecondwhile:

46output crlf

47jmp

dofirstwhile

48endfirstwhile:

4950 invoke exitprocess, 0

;exit with return code 0

5152 public _start ;

make entry point public

5354 end ;

end of source code

執行結果檢視

組合語言 AT T組合語言

這兩天的pwn題環境都是在linux中,採用的組合語言是 at t 格式。之前學習的是intel格式的8086彙編,今天學習了下at t組合語言。基於x86 架構的處理器所使用的彙編指令一般有兩種格式 操作intel格式at t格式 暫存器命名 push eax pushl eax 常數 立即運算元...

組合語言 直接定址表

assume cs code code segment a dw 1,2 3,4 5,6 7,8 a代表了code段的首位址code 00,由於dw,也代表了a開始的這一小段記憶體都是按照字單元儲存的。從code 0 code 15 也就是,a 0 a 15 a si 代表了從code 00開始的偏...

組合語言 直接定址表

assume cs code code segment 從code 0 code 15 也就是,a 0 a 15 a si 代表了從code 00開始的偏移量為si的記憶體單元。此記憶體單元是字單元,故si的偏移量是2個位元組。剩下的空間都是真正的cpu執行的 了。start mov si,0 mo...