組合語言 字元顯示

2022-03-27 07:51:54 字數 1829 閱讀 4718

題目:輸入乙個字元,找出它的前導字元和後續字元,並按順序顯示這三個字元。

要求:程式從鍵盤接收使用者輸入的乙個字元後,然後分別找出它的前導字元和後續字元,再按順序顯示這三個字元。在使用者輸入和顯示字元之前都要有相應的提示資訊。

知識覆蓋:計算機資料的儲存方式。8位,16位,32位暫存器的使用選擇。

這裡選擇了8位al,bl,cl暫存器。因為ascii碼的表示為8bit。所以處理起來也比較方便。

1

;example assembly language program -- 2;

author: karllen3;

date: revised 5/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

18 promot byte "

please enter a char

",cr,lf,0

19 answer byte "

the three char is

"20 byte cr,lf,0

21 befchar byte 1

dup(?)

22 char byte 1

dup(?)

2324 aftchar byte 1

dup(?)

25.code

26_start:

27output promot

28dowh:

29 input char,1

30cmp char,0d

31je endwh ;

只會處理最後乙個字元

32endwh:

33mov

al,char

34sub al,1

35mov

befchar,al

3637

add al,1

38add al,1

39mov

aftchar,al

4041

sub al,1

42mov

char,al

4344

45output answer

46 output befchar ;

依次輸出befchar char aftchar

4748

49 invoke exitprocess, 0

;exit with return code 0

5051 public _start ;

make entry point public

5253 end ;

end of source code

以上**執行完整。

組合語言學習 輸入和顯示字元

輸入和顯示字串 在上以彙編部落格中已經寫到 輸入 ah 01h al 存放 輸入的字元 輸出 ah 02 h dl 存放輸出的字元 因此關鍵 是 mov ah 01h int 21h mov char al mov dl,char mov ah 02h int 21h 由上可以知道完整 應該是 da...

組合語言 AT T組合語言

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

尋找特殊字元 組合語言

在已知字串中搜尋特定字元 若找到則 al 返回 0,找不到 al 返回 1 datas segment buf db 20,20 dup len equ buf datas ends stacks segment stacks ends codes segment assume cs codes,d...