Thực hành buổi 1 - NNHT

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down

tange Thực hành buổi 1 - NNHT

Bài gửi by Admin on Sat Dec 31, 2011 1:04 pm

Đây là bộ công cụ dùng để thực hành. Còn phần hướng dẫn sử dụng thì mình không nói ở đây chắc các bạn cũng biết vì đã làm bài nộp cho thầy thì sẽ gõ. Sau này đi thực hành sẽ biết.

+ Bộ công cụ:


--> Bài 1: Viết chương trình nhập vào 1 chuỗi ký tư sau đó:
+ In ra chuỗi ký tự vừa nhập.
+ In Hoa chuỗi ký tự vừa nhập
+ In Thường chuỗi ký tự vừa nhập



Code:


MyCOM  GROUP  CodeSeg, DataSeg
    ASSUME  CS:MyCOM, DS:MyCOM
CodeSeg  SEGMENT  PUBLIC  ;
    ORG  100h
Main    PROC
        lea dx,TB1
        call WriteStr
        call Nhap
        lea dx,TB2
        call WriteStr
        call PrintStr2
        lea dx,TB3
        call WriteStr
        call PrintStr3
        lea dx,TB4
        call WriteStr
        call PrintStr4
        int 20h
Main    ENDP
;-------------------------------
Nhap    PROC
        mov ah,0Ah
        lea dx,Max
        int 21h
        ret
Nhap    ENDP
;-------------------------------
PrintStr1      PROC
        lea si,Buffer
 LoadChar:
        lodsb
        cmp al,0Dh
        jz EndStr
        mov dl,al
        call WriteChar
        jmp Short LoadChar
 EndStr:
        ret
PrintStr1      ENDP
;-------------------------------
PrintStr2      PROC
        lea si,Buffer
        mov ch,0
        mov cl,Len
 LoadChr:
        lodsb
        mov dl,al
        call WriteChar
        loop LoadChr
        ret
PrintStr2      ENDP
;-------------------------------
WriteStr        PROC
        mov ah,9
        int 21h
        ret
WriteStr        ENDP
;-------------------------------
PrintStr3        PROC
        lea si,Buffer
 Load1:
        lodsb
        cmp al,0Dh
        jz EndStr3
        cmp al,'a'
        jb WrChr
        cmp al,'z'
        ja WrChr
        sub al,32
 WrChr:
        mov dl,al
        call WriteChar
        jmp Load1
 EndStr3:
        ret
PrintStr3        ENDP

;-------------------------------
WriteChar      PROC
        mov ah,2
        int 21h
        ret
WriteChar    ENDP
;-------------------------------
PrintStr4        PROC
        lea si,Buffer
 Load2:
        lodsb
        cmp al,0Dh
        jz EndStr4
        cmp al,'A'
        jb WrChr1
        cmp al,'Z'
        ja WrChr1
        add al,32
 WrChr1:
        mov dl,al
        call WriteChar
        jmp Load2
 EndStr4:
        ret
PrintStr4        ENDP
;-------------------------------
CodeSeg  ENDS
DataSeg  SEGMENT  PUBLIC
  TB1    DB          'Moi ban nhap chuoi:','$'
  TB2    DB  0dh,0ah,'Ban vua nhap chuoi:','$'
  TB3    DB  0dh,0ah,'Chuoi in hoa:','$'
  TB4    DB  0dh,0ah,'Chuoi in thuong:','$'
  Max    DB  127
  Len    DB  0
  Buffer  DB  128  dup(0)
DataSeg      ENDS
  END  Main



Hình demo:


Admin

Posts : 1013
Thanked : 47
Gia Nhập 25/08/2010

Tài Sản
Thú nuôi:

http://k4info.forumr.net

Về Đầu Trang Go down

tange Re: Thực hành buổi 1 - NNHT

Bài gửi by Admin on Sat Dec 31, 2011 1:12 pm

Lưu ý về bài 1, ở phần code thự hiện yêu cầu đầu tiên (nhập chuỗi in ra chuỗi vừa nhập ) có 2 cách.

+ Cách 1 là hàm PrintStr1: dùng lệnh cmp al,0Dh tức là in đến ký tự Enter thì ngừng

+ Cách 2 là hàm PrintStr2: Dùng vòng lặp Loop in đến khi nào cx=0 (cx=Len) thì ngừng

Trong Main muốn xài hàm nào ta gọi lại hàm đó

Admin

Posts : 1013
Thanked : 47
Gia Nhập 25/08/2010

Tài Sản
Thú nuôi:

http://k4info.forumr.net

Về Đầu Trang Go down

tange Re: Thực hành buổi 1 - NNHT

Bài gửi by pht0991 on Sat Dec 31, 2011 1:14 pm

thanks

pht0991

Posts : 222
Thanked : 3
Gia Nhập 24/02/2011

Tài Sản
Thú nuôi:

Về Đầu Trang Go down

tange Re: Thực hành buổi 1 - NNHT

Bài gửi by Sponsored content Today at 4:15 am


Sponsored content


Về Đầu Trang Go down

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang


 
Permissions in this forum:
Bạn không có quyền trả lời bài viết