เลือกกระทำ
Digital logic | OS | คำสั่งดอส | Batch | Debug | Assembly | GWBasic | Docker |
    พื้นฐานการเลือกกระทำ
  1. รับค่าด้วย ah=01h รับและแสดงตัวอักษร .model small .data .code main proc mov ax,@data mov ds,ax wow: mov ah,01h ; get and display int 21h cmp al,41h jne wow mov ah,4ch int 21h main endp .stack 200h end main
  2. รับค่าด้วย ah=08h แบบรับและไม่แสดงตัวอักษร .model small .data .code main proc mov ax,@data mov ds,ax wow: mov ah,08h ; get and not display int 21h mov ah,02h ; display mov dl,al int 21h cmp al,41h jne wow bye: mov ah,4ch int 21h main endp .stack 200h end main
  3. กำหนดตำแหน่งพร้อมกับการรับค่าไปเลือกด้วย ah=08h แบบหลายบรรทัด .model small .data ln db 02h .code pmain proc far ; can not change far to near push ds ; 1 of 5 line required for end .exe mov ax,0 ; 2 clear ax by xor ax,ax push ax ; 3 send ax to stack mov ax,@data mov ds,ax ; clear screen mov ax,0600h ; al หมายถึงจำนวนบรรทัดที่ว่าง mov bh,71h ; สีของพื้น และตัวอักษร ; 0=ดำ 1=น้ำเงิน 2=เขียว 3=ฟ้า 4=แดง 5=ม่วง 6=ทอง 7=เทา mov cx,0000h ; มุมบนซ้าย mov dx,103fh ; มุมล่างขวา int 10h new: ; move cursor mov ah,02h ; กำหนดตำแหน่ง cursor mov bh,00 ; เลขหน้าเป็น 0 ถึงจะเริ่มบนสุด add ln,01h mov dh,ln ; เริ่มต้นบรรทัดที่ 2 mov dl,10h ; เริ่มต้นหลักที่ 16 ( mov dx,0210h ) int 10h wow: mov ah,08h ; get and not display int 21h mov ah,02h ; display mov dl,al int 21h cmp al,42h ; ถ้ากด B ก็จะเริ่มต้นรับข้อมูลในบรรทัดใหม่ je new cmp al,41h ; ถ้าไม่กด A ก็จะรับตัวอักษรในแต่ละบรรทัดต่อไป jne wow ; สรุปได้ว่ากด A แล้วเลิกรับข้อมูล และออกจากโปรแกรม finish: ret pmain endp end pmain