You are on page 1of 24

ASSEMBLY CODE

1.Thc hin nhp vo t bn phm mt k t, nu khng phi l k t s th nhp li. Sau hin th k t va nhp trn dng tip theo. 2.Thc hin nhp vo t bn phm 2 k t trong phi c 1 k t l s, 1 k t l ch in thng. 3.Thc hin nhp vo 2 s t nhin nh hn 10. Tm s ln nht trong 2 s v in kt qu ra mn hnh trn dng tip theo. 4.Thc hin nhp vo 2 s t nhin nh hn 10. Tm s nh nht trong 2 s v in kt qu ra mn hnh trn dng tip theo. 5.Thc hin nhp vo t bn phm mt ch ci in thng 'ch' v in ra cc ch in thng t 'a' n 'ch'. 6.Thc hin nhp vo t bn phm mt ch ci in thng 'ch' v in ra cc ch in thng t 'ch' n 'z'. 7.Thc hin nhp vo t bn phm 1 s t nhin N (N<10), tnh tng cc s nguyn t N n 10 v lu kt qu vo thanh ghi BX. 8.Thc hin nhp vo t bn phm 1 k t l ch ci in hoa, sau m s lng bit 1 trong biu din nh phn m ASCII ca k t va nhp. 9.Cho trc 2 ch ci in hoa ch1 v ch2 (ch1<ch2), thc hin m s ch ci trong on t ch1 n ch2 v lu kt qu vo thanh ghi BX. 10.Thc hin nhp vo mt s t nhin N<8, tnh N! v lu kt qu vo BX. 11.Thc hin in dng biu din nh phn ca thanh ghi BX. 12.Cho trc 2 s t nhin trong 2 thanh ghi AX v BX. kim tra s nh nht nm trong thanh ghi no? 13.Cho trc 2 s t nhin trong 2 thanh ghi AX v BX, kim tra s ln nht nm trong thanh ghi no? 14.Cho trc 2 s t nhin trong 2 thanh ghi AX v BX, kim tra hiu ca 2 s, nu c tr tuyt i nh hn 10 th in tr tuyt i ra mn hnh, ngc li in kt qu vo thanh ghi DX. 15.Thc hin nhp mt s t nhin N (N<65536)vo t bn phm v lu kt qu vo thanh ghi BX.

16.Cho trc mt s t nhin trong thanh ghi BX, in biu din thp phn ca s t nhin . 17.Cho trc mt s t nhin trong thanh ghi BX, in biu din thp lc phn ca s t nhin . 18.Cho trc mt s t nhin trong thanh ghi BX, in biu din bt phn ca s t nhin . 19.Cho mt xu S gm cc ch ci in thng, to ra su S1 l xu cha cc ch ci in hoa ca xu S v in xu S1 ra mn hnh. 20.Cho mt xu k t S, to ra xu S1 l xu o ngc ca xu S v in xu S1 ra mn hnh. 21.Cho 2 xu k t S1 v S2, kim tra xem S1 v S2 c bng nhau hay khng? 22.Cho xu k t S, kim tra xem S c phi l xu i xng hay khng? 23.Cho xu k t S, m s k t l ch s c trong S. 24.Nhp vo t bn phm mt xu k t v lu di ca xu vo thanh ghi BX. 25.Cho xu k t S di l, to ra xu S1 t xu S bng cch ly trong S t v tr th i(0<i<l) n k t (0<n<l-i). 26.Thc hin nhp mt k t ch vo t bn phm v in ra mn hnh 10 dng, mi dng cha 10 k t ch. 27.Cho xu k t S, thc hin to xu S1 t xu S bng cch loi b trong xu S cc k t l du cch. 28.Cho xu k t S, nhp t bn phm mt k t ch v kim tra xem ch c trong xu S hay khng? 29.Cho xu k t S, m s lng k t 'A' c trong xu S. 30.Cho xu k t S, tnh tng ca cc k t s c trong xu S v lu kt qu vo thanh ghi BX. 31.Nhp s t nhin N(N<10) t bn phm v tnh tng N+(N+1)+...+10, lu kt qu vo thanh ghi BX. 32.Nhp N(N<10) s t nhin trong on [0,9] v tnh tng ca cc s lu vo thanh ghi BX. 33.Tnh tng ca cc s chn trong on [0,100] v lu kt qu vo thanh ghi BX

34.Tnh tng ca cc s l trong on [0,100] v lu kt qu vo thanh ghi BX. 35.Kim tra s nguyn lu trong thanh ghi BX l s chn hay l. Link: http://www.ddth.com/showthread.php/250270-B%C3%A0it%E1%BA%ADpAssembly%21%21?s=27ff917aadc1bb774954eb7b740f79ed#ixzz1dBfxxsvt

Bi 1* ;;;;; .code ;Nhp 1 k t MOV AH,1 INT 21h ;Kim tra c phi l s khng CMP AL,'0' JL ketthuc CMP AL,'9' JG ketthuc ;Xung dng MOV AH,2 MOV DL,0Ah ;V u dng MOV DL,0Dh INT 21h ;Hin th MOV DL,AL INT 21h ketthuc: ;Thot ra DOS MOV AH,4Ch INT 21h

Link: http://www.ddth.com/showthread.php/250270-B%C3%A0it%E1%BA%ADpAssembly%21%21?s=27ff917aadc1bb774954eb7b740f79ed#ixzz1dBg3tMv M

.model small .stack 100h .data msg1 db 'nhap vao mot ky tu so:$' msg2 db 13,10,'$' msg3 db 'ban da nhap sai!$' a db ? .code main proc mov ax,@data mov ds,ax ;hien thi msg1 lap: mov ah,9 lea dx,msg1 int 21h ;nhap vao mov ah,1 int 21h mov a,al ;do ax co the bi thay doi do lenh xuong dong ;xuong dong_msg2 mov ah,9 lea dx,msg2 int 21h ;kiem tra cmp a,30h

jl tb cmp a,39h jg tb jmp thoat ;hien thi msg3 tb: mov ah,9 lea dx,msg3 int 21h ;xuong dong_msg2 lea dx,msg2 int 21h jmp lap ;hien thi ky tu so thoat: mov ah,2 mov dl,a int 21h ;tro ve dos mov ah,4ch int 21h main endp end main [=========> B sung bi vit <=========] .model small .stack 100h .data msg1 db 'nhap vao mot ky tu so va mot ky tu hoa thuong:$' msg2 db 'nhap vao mot ky tu so $' msg3 db 'nhap vao mot ky tu hoa thuong:$' msg4 db 13,10,'$' msg5 db 'ban da nhap sai!$'

a db ? b db ? .code main proc mov ax,@data mov ds,ax

;hien thi msg1 mov ah,9 lea dx,msg1 int 21h ;xuong dong_msg4 mov ah,9 lea dx,msg4 int 21h ;nhap vao ky tu so ;hien thi msg2 lap1: mov ah,9 lea dx,msg2 int 21h mov ah,1 int 21h mov a,al ;do ax co the bi thay doi boi lenh xuong dong ;xuong dong_msg4 mov ah,9 lea dx,msg4 int 21h cmp a,30h jl tb1 cmp a,39h jg tb1

jmp thoat1 ;hien thi msg5 tb1: mov ah,9 lea dx,msg5 int 21h ;xuong dong_msg4 lea dx,msg4 int 21h jmp lap1 ;hien thi ky tu so thoat1: mov ah,2 mov dl,a int 21h ;xuong dong_msg4 mov ah,9 lea dx,msg4 int 21h ;nhap vao ky tu hoa thuong ;hien thi msg3 lap2: mov ah,9 lea dx,msg3 int 21h mov ah,1 int 21h xor bx,bx mov b,al ;do ax co the bi thay doi boi lenh xuong dong ;xuong dong_msg4 mov ah,9 lea dx,msg4

int 21h ;kiem tra cmp b,61H jl tb2 cmp b,7AH jg tb2 jmp thoat2 ;hien thi msg5 tb2: mov ah,9 lea dx,msg5 int 21h ;xuong dong_msg4 lea dx,msg4 int 21h jmp lap2 ;hien thi ky tu so thoat2: mov ah,2 mov dl,b int 21h ;tro ve dos mov ah,4ch int 21h main endp end main Link: http://www.ddth.com/showthread.php/250270-B%C3%A0it%E1%BA%ADpAssembly%21%21?s=27ff917aadc1bb774954eb7b740f79ed#ixzz1dBgAKox j

bi 3 ny th qu d .model small .stack 100h .data msg1 db 'nhap so thu nhat: $' msg2 db 13,10,'nhap so thu 2: $' msg3 db 13,10,'so lon nhat trong 2 so la: $' .code main proc mov ax,@data mov ds,ax ;nhap so thu nhat mov ah,9 lea dx,msg1 int 21h ;nhap vao mov ah,1 int 21h and al,0fh xor cx,cx mov cl,al ;nhap so thu hai mov ah,9 lea dx,msg2 int 21h ;nhap vao mov ah,1 int 21h and al,0fh xor bx,bx mov bl,al ;hien thi so lon nhat

mov ah,9 lea dx,msg3 int 21h ;so sanh cmp bl,cl jg ht1 ;lon hon jl ht2 ;nho hon ht1: add bl,30h mov ah,2 mov dl,bl int 21h jmp thoat ht2: add cl,30h mov ah,2 mov dl,cl int 21h thoat: ;tro ve dos mov ah,4ch int 21h main endp end main [=========> B sung bi vit <=========] bi 4 th tng t nh trn thay i my dng lnh thi [=========> B sung bi vit <=========] bi 5 v 6 tng t nh nhau ch khc cu lnh lp l repeat .. until v while .. do .model small .stack 100h

.data msg1 db 'nhap vao mot chu cai in thuong: $' msg2 db 13,10,'chu in thuong tu a den $' msg3 db 'la: $' msg4 db 13,10,'$' msg5 db ' $' k db ? .code main proc mov ax,@data mov ds,ax ;hien thi msg1 mov ah,9 lea dx,msg1 int 21h ;nhap vao mov ah,1 int 21h mov k,al xor bx,bx mov bl,60h ;hien thi msg2 va msg3 mov ah,9 lea dx,msg2 int 21h mov ah,2 mov dl,k int 21h mov ah,9 lea dx,msg3 int 21h ;xuong dong lea dx,msg4

int 21h lap: inc bl mov ah,2 mov dl,bl int 21h mov ah,9 lea dx,msg5 int 21h cmp bl,k je thoi jmp lap thoi: ;tro ve dos mov ah,4ch int 21h main endp end main Link: http://www.ddth.com/showthread.php/250270-B%C3%A0it%E1%BA%ADpAssembly%21%21?s=27ff917aadc1bb774954eb7b740f79ed#ixzz1dBgI2Fj N

Tnh Assembly Tnh anh nh "infinite loop". Ch v em, anh "move" mi chng ngng Tri tim anh vn "push", "pop" khng ngng "Load" tm tnh kt nn bi th ngn. "Instruction" du rng di hay vn, "Overflow", "carry set" chng mng Tri tim anh lun lun mi "branch" ngang "Jump" thng ti phng tri thng bn n.

Tnh rn rng "or" tnh s tan v?? Cn ty theo nhng tn hiu "return". Anh "exchange" trn vn c tm hn Khng cn bit n "addressing mode". Hy "add" dm cho anh thm im tt "Multiply" theo cp s tnh y ng "compare" tnh ton thit hn nhiu, C "shift" theo nhp tri tim, em nh. Thy tt xu, em nh "clear", ng k Ch "extend" u im gp bi thm, Ri "link" cng nhng k nim m m Mnh "swap" cng nhau t thu n. Li tnh yu "trap" i ta vo r Tri i nhau theo "logic" ca tri tim: Link: http://www.ddth.com/showthread.php/250270-B%C3%A0it%E1%BA%ADpAssembly%21%21?s=27ff917aadc1bb774954eb7b740f79ed#ixzz1dBgL8Q eN

Vit chng trnh nhp vo mt chui--> in ra chui va nhp di dng 1 k t trn 1 dng.

;chuong trinh nhap vao mot chuoi, hien thi theo hang doc .model small .stack 100h .data thongbao1 db 'nhap chuoi, enter de ket thuc: $',10,13 thongbao2 db 13,10,'hien thi chuoi: $' xuongdong db 13,10,'$' str db 100 dup(?)

main proc mov ax,@Data mov ds,ax mov es,ax xor cx,cx mov ah,9 lea dx,thongbao1 int 21h cld lea di,str mov ah,1 nhaptiep: int 21h cmp al,13 je thoinhap stosb inc cx jmp nhaptiep thoinhap: mov ah,9 lea dx,thongbao2 int 21h lea si,str lap: mov ah,9 lea dx,xuongdong int 21h mov ah,2 lodsb mov dl,al int 21h loop lap

mov ah,4ch int 21h main endp end main

Bi 1: In ra mn hnh 255 k t m rng c trong bng m ASCII Gii code segment assume cs:code, ds:code org 100h begin: mov cx, 255 mov al,0 lap: mov ah,2 mov dl,al inc dl int 21h loop lap mov ax, 4c00h int 21h code ends end begin Bi 2: Nhp k t t bn phm nu gp phm ESC c m l "27" th thot khi chng trnh. Gii

code segment assume cs:code, ds:code org 100h begin: mov ah,1 int 21h cmp al,27 ;so sanh ky tu nhap vao voi ky tu 27 la ma ESC je thoat ;neu la ma ESC thi thoat khoi chuong trinh jmp begin ;neu khac ma ESC thi quay lai tu dau thoat: mov ax, 4c00h int 21h code ends end begin Bi 3: Vit chng trnh nhp vo t bn phm nu k t khng nm trong khong t "A" ln n "Z" ln th thot khi chng trnh. Gii code segment assume cs:code, ds:code org 100h begin: mov ah,1 int 21h mov bl,al cmp bl,'A';so sanh A lon den Z lon jb thoat ;neu khac khoang A lon den Z lon cmp bl,'Z';thi thoat khoi chuong trinh ja thoat

jmp begin thoat: mov ax, 4c00h int 21h code ends end begin

Bi 4: Vit chng trnh in ra hnh tri tim mu nn en tm mn hnh. Gii: code segment assume cs:code, ds:code org 100h begin: mov ax, 0b800h mov ds, ax mov al,3 mov ah,00000100b d=12 c=40 mov si,(d*80+c)*2 mov [si],ax mov ax, 4c00h int 21h code ends end begin Bi 5: Vit chng trnh in ra mn hnh tri tim mu nn en v dng cc phm (t,r,,u,d) iu khin tri tim dch sang(tri,

phi, trn, di) Gii: code segment assume cs:code, ds:code org 100h begin: mov ax, 0b800h mov ds, ax mov al,3 mov ah,00000100b d=12 c=40 mov si,(d*80+c)*2 mov [si],ax lap: mov ah,7 ;nhap ky tu tu ban phim khong hien len man hinh int 21h cmp al,'l';so sanh neu dung thi thuc hien lenh trai je trai cmp al,'r' je phai cmp al,'u' je tren cmp al,'d' je duoi jmp thoat trai: mov al,3

mov ah,4 mov [si],0720h sub si,2 mov [si],ax jmp lap phai: mov al,3 mov ah,4 mov [si],0720h add si,2 mov [si],ax jmp lap tren: mov al,3 mov ah,4 mov [si],0720h sub si,160 mov [si],ax jmp lap duoi: mov al,3 mov ah,4 mov [si],0720h add si,160 mov [si],ax jmp lap thoat:

;xoa ky tu vua dich chuyen

;xoa ky tu vua dich chuyen

;xoa ky tu vua dich chuyen

;xoa ky tu vua dich chuyen

mov ax, 4c00h int 21h code ends end begin Bi 6: Vit chng trnh hin th dng ch "KHOA TIN HOC" c mu nn en ri xung dng v o ngc dng ch . Gii code segment assume cs:code,ds:code org 100h begin: mov ax,0b800h mov ds,ax d=5 c=10 mov al,'K' mov ah,65 mov di,(d*80+c)*2 mov [di],ax mov al,'H' mov ah,58 mov[di+2],ax mov al,'O' mov ah,24 mov[di+4],ax mov al,'A' mov ah,30

mov[di+6],ax mov al,' ' mov ah,00 mov[di+8],ax mov al,'T' mov ah,65 mov[di+10],ax mov al,'I' mov ah,40 mov[di+12],ax mov al,'N' mov ah,12 mov[di+14],ax mov ah,1 int 21h d=5 c=10 push[di] push[di+2] push[di+4] push[di+6] push[di+8] push[di+10] push[di+12] push[di+14] d=6 c=10 mov si,(d*80+c)*2

pop[si] pop[si+2] pop[si+4] pop[si+6] pop[si+8] pop[si+10] pop[si+12] pop[si+14] mov ax,4c00h int 21h code ends end begin

Bng m ASCII
Cc k t ASCII (bao gm phn m rng nh ngha bi IBM) c chia thnh 4 nhm mi nhm 32 k t. 32 k t u tin, m ASCII t 0 n 1Fh (31), dng cc k t c bit khng th in ra (nonprinting characters) c gi l cc k t iu khin. Chng ta gi cc k t iu khin bi v chng thc hin cc iu khin in/hin th khc nhau hn l thc hin cc thao tc trn k t hin th. V d bao gm carriage return (CR), lm cho v tr con tr v v tr bn tri ca dng k t, line feed (LF) (lm di chuyn con tr v mt v tr pha bn tri). Khng may, cc k t iu khin thc hin cc hnh ng khc nhau trn cc k t khc nhau. C rt t s tiu chun gia cc thit b ra. tm mt cch chnh xc cch m mt k t iu khin nh hng ln cc thit b c th, bn s cn ti liu hng dn cho n. Nhm 32 k t m ACII th hai c so snh vi cc h thng du chm cu khc nhau, cc k t c bit, v cc ch s. Cc k t ng ch nht trong nhm ny bao gm k t trng (m ASCII 20h) v cc ch s (m ASCII 30h..39h). Ch rng cc ch s ny khc vi gi tr s ca chng ch trong nibble H.O. Bng cch tr 30h t m ASCII cho ch s c th no bn c th thu c s tng ng vi ch s . Nhm 32 k t m ASCII th ba c dnh cho cc k t ch ci hoa. Cc m ASCII ny l A..Z nm trong khong 41h..5Ah (65..90). V ch c 26 ch ci khc nhau, 6 m cn li l dng cho cc k t c bit.

Nhm th bn, v cng l cui cng, nhm 32 k t m ASCII ny c dng cho cc k t ch ci thng, 5 k t c bit c thm vo, v mt k t iu khin khc (delete). Ch rng cc k t ch ci thng s m ASCII t 61h..7Ah. Nu bn mun chuyn cc m gi cc k t hoa v thng theo nh phn, bn s cn lu cc k t hoa khc vi cc k t thng ca chng ch ng mt v tr bit. V d nh, xt cc m k t E v e sau y:

Ch c mt v tr khc nhau ca hai m l bit nm. K t hoa lun cha khng bit nm; k t ch ci thng lun cha mt bit 5. Bn c th s dng c im ny chuyn i mt cch nhanh chng gia k t hoa v k t thng. Nu bn c mt k t hoa bn c th lm n thnh k t thng bng cch t bit nm thnh mt. Nu bn c mt k t thng v bn mun n thnh k t hoa , bn c th lm n bng cch t bit nm l khng. Bn c th o ngc cc k t ch ci gia k t hoa v thng mt cch n gin l o ngc bit nm. Qu thc, bit nm v su xc nh c nhm no trong bn nhm ca k t ASCII m bn ang dng:

V vy bn c th, v d nh, chuyn i gia cc k t hoa hay k t thng (hay cc k t c bit tng ng) thnh cc k t iu khin tng ng vi n bng cch t cc bit nm v bit su thnh khng.

Xt cc k t m ASCII ca cc ch s:

Cc biu din thp phn ca cc m ASCII rt khng sng sa. Tuy nhin, biu din ca hexa ca cc m ASCII ny li rt quan trng , nibble L.O. ca m ASCII l s nh phn tng ng vi ch s c biu din. Bng cch loi b (v d t bng 0) nibble H.O. ca mt k t s, bn c th chuyn m k t thnh biu din gi tr nh phn tng ng. Ngc li, bn c th chuyn mt gi tr nh phn trong phm vi 0..9 thnh biu din k t ASCII ca n bng cch n gin l t nibble H.O. thnh ba. Ch rng bn c th s dng cc php ton logic AND lm cho cc bit H.O. thnh 0; cng tng t nh vy, bn c th s php logic OR lm cho bit H.O. thnh 0011(ba). Ch rng bn khng th chuyn mt chui cc k t s thnh biu din nh phn tng ng ca n bng cch loi b nibble H.O. t mi s trong chui. Chuyn 123 (31h 32h 33h) trong dy ba byte cu thnh: 010203h, khng gi tr ng l 7Bh. Chuyn mt chui ch s thnh mt s nguyn i hi nhiu s phc tp hn iu ny; s chuyn i trn ch lm vic cho mi ch s duy nht. Bit by trong m ASCII tiu chun lun l khng. iu ny ngha l tp k t ASCII ch dng mt na cho cc m trong 8 bit (1 byte). IBM s dng 128 k t cn li cho cc k t c bit khc bao gm k t quc t (v d k t pht m...), k t ton hc, v cc k t ng v ( line drawing characters). Ch rng khng c mt tiu chun m rng cc k t cho bng m ASCII. ng nhin, hng IBM c tm nh hng rng, v vy hu ht tt c cc my tnh c nhn hin i trn c s 8086 vi mn hnh hin th c m rng k t IBM/ASCII. a s cc my in cng h tr k t IBM.

http://www.hvaonline.net/hvaonline/posts/list/27422.hva

You might also like