題目:輸入乙個字元,找出它的前導字元和後續字元,並按順序顯示這三個字元。
要求:程式從鍵盤接收使用者輸入的乙個字元後,然後分別找出它的前導字元和後續字元,再按順序顯示這三個字元。在使用者輸入和顯示字元之前都要有相應的提示資訊。
知識覆蓋:計算機資料的儲存方式。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...