intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Quá trình hình thành giáo trình hướng dẫn sử dụng các hàm có sẵn trong win p3

Chia sẻ: Asfaf AfaFaf | Ngày: | Loại File: PDF | Số trang:5

34
lượt xem
5
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Mô tả: MOVSB copy từng byte một từ một địa chỉ nguồn tới địa chỉ đích. Nguồn được trỏ bởi DS:SI đích được trỏ bởi ES:DI. Sau khi copy một byte, SI và DI được tự động tăng/giảm 1 tuỳ thuộc cờ DF là UP/DN. Lệnh MOVSB thường được sử dụng với lệnh REP để copy một dãy CX bytes.

Chủ đề:
Lưu

Nội dung Text: Quá trình hình thành giáo trình hướng dẫn sử dụng các hàm có sẵn trong win p3

  1. MOVSB (MOVe String Byte-by - Byte) Mô tả: MOVSB copy từng byte một từ một địa chỉ nguồn tới địa chỉ đích. Nguồn được trỏ bởi DS:SI đích được trỏ bởi ES:DI. Sau khi copy một byte, SI và DI được tự động tăng/giảm 1 tuỳ thuộc cờ DF là UP/DN. Lệnh MOVSB thường được sử dụng với lệnh REP để copy một dãy CX bytes. Ví dụ: REP MOVSB ;lặp lại lệnh MOVSB CX lần b.Lưu chuỗi Lệnh STOSB (STOre Byte in AL at String) ;lưu chuỗi các byte Lệnh này là lệnh copy nội dung của AL vào địa chỉ nhớ do ES:DI trỏ tới, sau đó DI tăng/giảm 1 tuỳ theo cờ DF bằng UP/DN. c.Lệnh Duyệt chuỗi (Scan String) Lệnh : SCASB ;Duyệt một chuỗi các byte Lệnh SCASB lấy AL trừ đi toán hạng đích là byte được trỏ bởi ES:DI. Kết quả của phép trừ không được giữ lại, chỉ có các cờ được thiết lập. Sau đó DI được giảm/Tăng 1 tuỳ theo cờ DF bằng UP/DN. Lệnh SCASB thường được sử dụng cùng REPE/REPNZ/REPZ để lặp lại lệnh SCASB CX lần hoặc lặp tới khi nó phát hiện thấy 2 toán hạng là bằng/khác.
  2. Tường tự với lệnh SCASB là SCASW, khác là thao tác với toán hạng word Sau đây ta xét một ví dụ về Chuẩn hoá xâu: Các việc cần làm là: - Xử lý các dấu cách, nếu dấu có nhiều dấu thì chỉ lấy lấy một dấu cách - Ký tự đầu của xâu thì viết hoa - Sau dấu cách thì viết hoa, các khác thì viết thường. Chuan_hoa.asm ;Chuan hoa xau Code segment assume cs:Code,ds:Code org 100h Start: Jmp Begin nguon db "Nhap xau vao :$" xuongd db 0ah,0dh,"$" ktao db 254,0,254 dup(0) inxau db 254 dup(0) kq db "Ket qua sau chuan hoa la= $" Begin: Call CLRSCR mov ah,09h
  3. mov dx,offset nguon int 21h mov ah,0ah mov dx,offset ktao int 21h mov ah,09 mov dx,offset xuongd int 21h mov si,offset ktao+2 mov di,offset inxau xor cx,cx mov cl,[si] For: mov al,[si] cmp al,13 je bang_Enter_thi_in_ra cmp al,' ' jne khac_dau_cach mov al,[si+1] cmp al,' ' je Dau_cach_tiep movsb jmp For Dau_cach_tiep: inc si
  4. jmp For khac_dau_cach: mov al,[si-1] cmp al,' ' je Dau_cach mov al,[si+1] jmp Tiep Dau_cach: mov al,[si+1] call Chu_hoa movsb jmp For Tiep: call Chu_thuong movsb jmp For bang_Enter_thi_in_ra: mov byte ptr[di],'$' mov si,offset inxau mov al,[si] cmp al,' ' jne Nhay inc si Nhay:
  5. call Chu_hoa mov ah,09 mov dx,offset kq int 21h mov ah,09 mov dx,si int 21h int 20h ;------------------------- CLRSCR Proc mov ah,0fh int 10h mov ah,00 int 10h ret CLRSCR Endp ;------------------------- Chu_hoa Proc mov al,[si] cmp al,"a" jb Bo_qua cmp al,"z" ja Bo_qua sub byte ptr[si],32 Bo_qua:
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2