1. Trang chủ
  2. » Luận Văn - Báo Cáo

BÀI TẬP VỀ CÔNG NGHỆ THÔNG TIN

28 1,1K 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 28
Dung lượng 106 KB

Nội dung

BÀI TẬP VỀ CÔNG NGHỆ THÔNG TIN

Trang 1

Bài 1: Viết chương trình hợp ngữ dạng EXE thực hiện nhập vào từ bàn phím một ký tự, nếu không phải là ký tự số thì nhập lại Sau đó nhiển thị ký tự vừa nhập trên dòng tiếp theo.

.MODEL SMALL

STACK 100h

DATA

MoiNhap DB 'Nhap mot ky tu so n = ' , '$'

KoLaChuSo DB 'Ko phai , hay nhap lai ' , 13,10, '$'

LaChuSo DB 'Dung roi, so vua nhap la ' , 13,10, '$'

CODE

MOV AX, @Data ; Dua cac du lieu

MOV DS, AX ; vao phan doan du lieu

NhapKyTu:

MOV DX, OFFSET MoiNhap ; Xuat mot chuoi tro boi DX

MOV AH, 9 ; bang chuc nang thu 9

INT 21h ; cua ngat 21h DOS

MOV AH, 1 ; Nhap mot ky tu vao AL

INT 21h ; bang chuc nang 1 cua ngat 21h DOS

CMP AL, '0' ; Kiem tra co phai chu so hay ko

MOV AH, 2 ; Xuat mot ky tu bang

INT 21h ; chuc nang 2 cua ngat 21h DOS

MOV AH, 4Ch ; Ket thuc chuong trinh va tra

INT 21h ; ve DOS bang chuc nang 4Ch

Trang 2

4 Viết chương trình xuất 10 chuỗi “Hello” ra màn hình tại dòng thứ 10, cột 10.

5 Viết chương trình nhập chuỗi từ bàn phím cho đến khi nhập ký tự ‘T’ thì xuất chuỗi nhập ra màn hình và kết thúc chương trình

6 Viết chương trình thực hiện chuyển đổi một chuỗi ký tự trong bộ nhớ từ chữ

thường thành chữ hoa và in chuỗi đã chuyển đổi lên màn hình

7 Viết chương trình thực hiện in các ký tự chứa tại ô nhớ 1000h – 3000h theo thứ tự ngược lại

8 Viết chương trình thực hiện chuyển đổi số nhị phân chứa trong thanh ghi DX thành

số BCD chứa trong thanh ghi AX Nếu kết quả chuyển đổi lớn hơn 16 bit thì giá trị trong thanh ghi AX là FFFFh

9 Viết chương trình so sánh 2 arrray 8 bit A và B, mỗi array có 100 phần tử chứa từ địa chỉ 1000h (array A) và 2000h (array B) Nếu 2 array này giống nhau thì lưu vào

ô nhớ 3000h giá trị FFFFh Ngược lại thì lưu vào ô nhớ 3000h địa chỉ đầu tiên của phần tử trong array A khác với phần tử trong array B

Bài 1: In ra màn hình 255 ký tự mở rộng có trong bảng mã ASCII

Trang 3

Bài 2: Nhập ký tự từ bàn phím nếu gặp phím ESC có mã là "27" thì thoát khỏi chương trình.

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

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

Trang 6

mov [di],ax

mov al,'H'

mov ah,58

mov[di+2],ax mov al,'O'

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

c=10

mov si,(d*80+c)*2 pop[si]

Trang 7

thongbao1 db 'nhap chuoi, enter de ket thuc: $',10,13

thongbao2 db 13,10,'hien thi chuoi: $'

Trang 8

int 10h :Ngắt làm việc của bios về màn hình

int 11h : Bios về cấu hình

int 13h :Bios về ổ đĩa

int 14h : Bios về giao diện cổng nối tiếp

int 16h : Bios liên quan đến bàn phím

Trang 9

Màu :

- Địa chỉ màn hình màu : B800 : 0000

- Mỗi ký tự trên màn hình được biểu diễn bằng 2 byte

Byte thấp : chứa ký tự cần in ra

Byte cao : chứa màu nền và màu ký tự đó

Nó được định dạng như sau :

7 6 5 4 3 2 1 0

B / I : nằm ở bit thứ 7

H : nằm ở bit thứ 6

G : nằm ở bit thứ 5

B : nằm ở bit thứ 4

H, G ,B : màu nền

I : nằm ở bit thứ 3

R : nằm ở bit thứ 2

G : nằm ở bit thứ 1

B : nằm ở bit 0

I ,R ,G ,B : màu chử

I : intensity ( cường độ , độ sáng ) 0 :tối và 1 : sáng

B : blinking ( chớp nháy ) 0 : không nháy và 1 :nháy

Bit 7( B / I ) : vừa làm nhiệm vụ cho nhấp nháy chữ hay tăng giảm độ sáng cho màu nền.

I R G B MÀU I R G B MÀU

0 0 0 0 đen 1 0 0 0 đen nhạt

0 0 0 1 xanh dương 1 0 0 1 da trời

0 0 1 0 xanh lá cây 1 0 1 0 xanh nhạt

0 0 1 1 cyan 1 0 1 1 cyan sáng

0 1 0 0 đỏû 1 1 0 0 đỏ sáng

Trang 10

0 1 0 1 tím 1 1 0 1 tím cà

0 1 1 0 nâu 1 1 1 0 vàng

0 1 1 1 xám đậm 1 1 1 1 trắng

Cách nhớù màu :

đen xanh dương xanh lá cây cyan đỏ tím nâu xám

- Muốn chử sáng : cộng thêm số 8 cho màu chử

- Muốn nền sáng / chử nháy cộng thêm số 8 cho màu nền

CÔNG THỨC :

Màu nền * 16 + màu chữ

Ví dụ :

Chữ A có màu xanh dương trên nền đỏ

A : 65 đổi sang hệ thập phân là : 1000000

Trang 11

màu xanh dương nền đỏ

Trang 12

Bài 1:

.model small

.stack 100h

.Data

Msg1 db 'Nhap vao mot ki tu la so:$'

Msg2 db 'Ki tu vua nhap khong phai la so, moi ban nhap lai:$'

Msg3 db 'So ban vua nhap la:$'

Trang 13

s db 'Nhap vao mot ki tu la so:$'

s1 db 'Ki tu vua nhap khong phai la so, moi ban nhap lai:$'

s2 db 'So ban vua nhap la:$'

s3 db 'Nhap vao mot chu in thuong:$'

s4 db 'Nhap sai, xin nhap lai:$'

s5 db 'Chu ban vua nhap:$'

Trang 14

Mov dl,0AHint 21hMov ah,9Lea dx,s1int 21hMov ah,1Int 21htiep:

cmp al,'0'

jb Nhapsocmp al,'9'

Ja NhapsoMov bl,alMov ah,2Mov dl,0DHint 21hMov dl,0AHint 21hMov ah,9Lea dx,s2Int 21hMov ah,2Mov dl,blInt 21hMov ah,2Mov dl,0DHint 21hMov dl,0AHint 21hXor bl,blMov ah,9Lea dx,s3int 21hMov ah,1Int 21hjmp tiep1

Nhapchu:Mov ah,2Mov dl,0DHint 21hMov dl,0AHint 21h

Trang 15

chao db 'Nhap vao so hexa: $'

ketqua db 'So nhi phan tuong ung la: $'

loi db 'So ban nhap khong phai hexa $'

sohexa db 100 dup(0)

Trang 16

;kiem tra chuoi co hop le

mov si, offset sohexa

;goi ham taohexa, chuoi nam o SI, do dai chuoi nam trong CX mov cx, di

Trang 17

jmp ketif conlai:

mov dl, 30h ketif:

mov ah, 2 int 21h

;thoat khoi dos mov ah, 4ch int 21h

kiemtrahex:

cmp ah, 61h

jb gaploi

cmp ah, 66h

Trang 18

and al,0fh ;chuyen thanh so

mov n,al ;luu vao n

cmp dx,0ah ;so sanh DX voi 10

je thoat

Trang 19

inc dx ;tang dx len 1

add bx,dx ;cong don vao bx

;tinh giai thua n

;luu vao bx in ra man

Trang 21

end quả vào BX.

3 Viết chương trình hợp ngữ dạng EXE thực hiện nhập vào 2 số tự nhiên nhỏ hơn

10 Tìm số lớn nhất trong 2 số và in kết quả ra màn hình trên dòng tiếp theo

Trang 22

6 Viết chương trình hợp ngữ dạng EXE thực hiện nhập vào từ bàn phím một chữ cái

in thường ch và in ra các chữ cái in thường từ ch đến ‘z’

;Viet ct nhap vào tu bàn phím mot chu cái in thuong ch

; in ra các chu cai in thuong tu ch den ‘z’

Trang 23

cmp bl,'z';so sanh xem ky tu vua nhap voi ky tu 'z'

je thoat;neu = thi nhay den thoat

;cho truoc 2 chu cai in hoa

;viet ct dem so chu cai trong doan tu ch1 den ch2 va luu vao thanh ghi bx

Trang 24

mov ch1,'A';luu ky tu 'A' vao ch1

mov ch2,'E';luu ky tu 'E' vao ch2

;trong doan tu 'A' den 'E' co 3 ky tu la B C D

Trang 25

int 21h

cmp al,13

je thoidoc

and al,0fh ; doi ma ra so

shl bx,1 ;dich trai bx de lay cho luu bit vua nhap

or bl,al ;chen bit vua doc vao bl

5 Viết chương trình hợp ngữ dạng EXE thực hiện nhập vào từ bàn phím một chữ cái

in thường ch và in ra các chữ cái in thường từ ‘a’ đến ch

;Viet ct nhap vào tu bàn phím mot chu cái in thuong ch

; in ra các chu cai in thuong tu 'a' den ch

Trang 26

;chuyen ky tu vua nhap vao bl

cmp bl,cl;so sanh xem ky tu vua nhap voi ky tu 'a'

je thoat;neu = thi nhay den thoat

;nhap mot xau ky tu thuong

;in ra man hinh xau chu hoa

.model small

.stack 100h

.data

msg db 'Nhap vao mot chuoi: $'

msg2 db 13,10,'Chuoi vua nhap la: $'

Trang 27

int 21h

lea di,chuoi

call nhapchuoi

; - lea dx,msg2

push di ;DI chua offset cua chuoi

cld ;dinh huong tien de cat

je thoi: ;neu dung thi thoi ko doc nua

cmp al,8 ;co backspace ko

jne luu

dec di ;lui con tro(di=di-1)

dec bx ;bot mot ky tu

lodsb ; chuyen ky tu vao al

mov dl,al ;dua vao dl

mov ah,2 ;hien thi

int 21h

loop for

ret

Trang 28

;cho 2 so tu nhien trong 2 thanh ghi ax bx

;viet ct kiem tra so nho nhat nam trong thanh ghi nao

.model small

.stack 100h

.data

s1 db 'so nho nhat nam trong thanh thanh ghi ax $'

s2 db 'so nho nhat nam trong thanh thanh ghi bx $'

.code

main proc

mov ax,@data

mov ds,ax

mov ax,'8';gia su thanh ghi ax luu gia tri 8

mov bx,'6';gia su thanh ghi ax luu gia tri 6

Ngày đăng: 25/04/2013, 11:56

HÌNH ẢNH LIÊN QUAN

- Địa chỉ màn hình mà u: B800 : 0000 - BÀI TẬP VỀ CÔNG NGHỆ THÔNG TIN
a chỉ màn hình mà u: B800 : 0000 (Trang 9)
- Mỗi ký tự trên màn hình được biểu diễn bằn g2 byte       Byte thấp  :   chứa ký tự cần in ra - BÀI TẬP VỀ CÔNG NGHỆ THÔNG TIN
i ký tự trên màn hình được biểu diễn bằn g2 byte Byte thấp : chứa ký tự cần in ra (Trang 9)
01 01 tím 11 01 tím cà - BÀI TẬP VỀ CÔNG NGHỆ THÔNG TIN
01 01 tím 11 01 tím cà (Trang 10)
Công thức tính địa chỉ offset của ký tự cần xuất ra màn hình - BÀI TẬP VỀ CÔNG NGHỆ THÔNG TIN
ng thức tính địa chỉ offset của ký tự cần xuất ra màn hình (Trang 10)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w