งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

204221 องค์ประกอบคอมพิวเตอร์และภาษาแอสเซมบลี้ ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ สัณฑิติ พัชรรุ่งเรือง จิตร์ทัศน์ ฝักเจริญผล บทที่ 10 โครงสร้าง.

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "204221 องค์ประกอบคอมพิวเตอร์และภาษาแอสเซมบลี้ ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ สัณฑิติ พัชรรุ่งเรือง จิตร์ทัศน์ ฝักเจริญผล บทที่ 10 โครงสร้าง."— ใบสำเนางานนำเสนอ:

1 องค์ประกอบคอมพิวเตอร์และภาษาแอสเซมบลี้ ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ สัณฑิติ พัชรรุ่งเรือง จิตร์ทัศน์ ฝักเจริญผล บทที่ 10 โครงสร้าง ควบคุม โครงสร้างการตัดสินใจแบบ if- then-else โครงสร้างการกระทำซ้ำแบบ repeat-until โครงสร้างการกระทำซ้ำแบบ while โครงสร้างการกระทำซ้ำแบบ for

2 องค์ประกอบคอมพิวเตอร์และภาษาแอสเซมบลี้ ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ สัณฑิติ พัชรรุ่งเรือง จิตร์ทัศน์ ฝักเจริญผล โครงสร้าง if-then-else รูปแบบโปรแกรมภาษา แอสเซมบลี้ โครงสร้าง if-then-else คำสั่ง จริง คำสั่ง เท็จ เงื่อนไข if condition is false then jump to else_label then_actions jump to endif_label else_label: else_actions endif_label: cmp al,10 jae abovenine mov dl,al add dl, ’ 0 ’ jmp endif abovenine: mov dl,al add al, ’ A ’ -10 endif: if AL<10 then DL:=AL+ ’ 0 ’ else DL:=AL+ ’ A ’ -10; EXAMPLE

3 องค์ประกอบคอมพิวเตอร์และภาษาแอสเซมบลี้ ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ สัณฑิติ พัชรรุ่งเรือง จิตร์ทัศน์ ฝักเจริญผล โครงสร้าง repeat-until รูปแบบโปรแกรมภาษา แอสเซมบลี้ startlabel: actions... actions if condition is false then jump to startlabel คำสั่ง เงื่อนไข คำสั่ง เท็จ จริง EXAMPLE startlabel: mov al,bl mul bl add dx,ax inc bl inc cx cmp dx,100 jbe startlabel repeat DX:=DX+BL*BL; BL:=BL+1; CX:=CX+1; until (DX>100);

4 องค์ประกอบคอมพิวเตอร์และภาษาแอสเซมบลี้ ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ สัณฑิติ พัชรรุ่งเรือง จิตร์ทัศน์ ฝักเจริญผล โครงสร้าง while รูปแบบโปรแกรมภาษา แอสเซมบลี้ startlabel: if condition is false then jump to endlabel actions... actions jump to startlabel endlabel: EXAMPLE คำสั่ง เงื่อนไข คำสั่ง เท็จ จริง startloop: cmp dl,13 jz endloop cmp cx,20 jae endloop add al,dl adc ah,0 inc bx mov dl,data[bx] inc cx jmp startloop endloop: while (DL<>13) and (CX<20) do begin AX:=AX+DL; BX:=BX+1; DL:=DATA[BX] CX:=CX+1; end;

5 องค์ประกอบคอมพิวเตอร์และภาษาแอสเซมบลี้ ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ สัณฑิติ พัชรรุ่งเรือง จิตร์ทัศน์ ฝักเจริญผล โครงสร้าง for รูปแบบโปรแกรมภาษา แอสเซมบลี้ – ไม่ใช้คำสั่ง LOOP : ยุ่งยากในการ ใช้ – ใช้คำสั่ง LOOP : สะดวกกว่า แต่ ไม่สามารถใช้ในการวนรอบที่ ซับซ้อนได้ เท็จ คำสั่ง ค่าของตัวแปร อยู่ในขอบเขต คำสั่ง จริง กำหนดค่าเริ่มต้น ปรับค่าตัวแปร initialize index variable startloop: if index value is not in the range then jump to endloop action... action update index variable jump to startloop endloop: set the value of CX startloop: actions LOOP startloop

6 องค์ประกอบคอมพิวเตอร์และภาษาแอสเซมบลี้ ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ สัณฑิติ พัชรรุ่งเรือง จิตร์ทัศน์ ฝักเจริญผล EXAMPLE โครงสร้าง for EXAMPLE mov cx,0 mov dl,1 startloop: cmp dl,100 ja endloop mov al,dl mov ah,0 mob bl,7 div bl cmp ah,0 jne endif inc cx endif: inc dl jmp startloop endloop: CX:=0; for DL:=1 to 100 do begin if DL mod 7 = 0 then CX:=CX+1; end; โครงสร้างการทำงานของคำสั่ง LOOPZ และ LOOPNZ มีลักษณะปนกันระหว่างโครงสร้าง for และ repeat mov ax,0 mov cx,100 startloop: add ax,data[bx] add bx,2 cmp data[bx],0 looopnz startloop AX:=0; CX:=100; repeat AX:=AX+data[BX]; BX:=BX+2; CX:=CX-1; until (data[BX]=0) or (CX=0);

7 องค์ประกอบคอมพิวเตอร์และภาษาแอสเซมบลี้ ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ สัณฑิติ พัชรรุ่งเรือง จิตร์ทัศน์ ฝักเจริญผล ตัวอย่าง จงเขียนโปรแกรมตรวจสอบ เลขฐานสิบที่รับค่าจากผู้ใช้ ( ไม่ เกิน 8 บิต ) ว่าเป็นจำนวนเฉพาะ หรือไม่. – อ่านตัวเลขฐานสิบจากผู้ใช้ ใช้ Function หมายเลข 0Ah ในการ อ่านข้อความ แปลงให้เป็นตัวเลข – ตรวจสอบว่าเป็นจำนวนเฉพาะ หรือไม่ ทดลองหาร การอ่านข้อความ.data maxlen db 4 strlen db ? str db 4 dup (?).code mov mov ds,ax mov dx,offset maxlen mov ah,0Ah int 21h

8 องค์ประกอบคอมพิวเตอร์และภาษาแอสเซมบลี้ ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ สัณฑิติ พัชรรุ่งเรือง จิตร์ทัศน์ ฝักเจริญผล แปลงตัวเลข ตัวอย่างการแปลง – สมมุติว่าผู้ใช้ป้อน ‘123’ ข้อมูล ในหน่วยความจำจะมีค่าเป็น : การแปลง : 123 = 1* * = (((0*10 + 1) *10 + 2)*10 + 3) 4 3 ‘1’ ‘2’ ‘3’ 13 maxlen strlen str 0 * * *

9 องค์ประกอบคอมพิวเตอร์และภาษาแอสเซมบลี้ ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ สัณฑิติ พัชรรุ่งเรือง จิตร์ทัศน์ ฝักเจริญผล แปลงตัวเลข mov cl,strlen mov ch,0 mov bx,offset str mov al,0 extract: mov dh,10 mul dh ; AX=AL*10 ; discard AH mov dl,[bx] sub dl, ’ 0 ’ add al,dl ; AL=AL+digit loop extract

10 องค์ประกอบคอมพิวเตอร์และภาษาแอสเซมบลี้ ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ สัณฑิติ พัชรรุ่งเรือง จิตร์ทัศน์ ฝักเจริญผล ทดสอบว่าเป็นจำนวน เฉพาะ การทดสอบ – ใช้ 2 - (al-1) หาร mov cl,al mov ch,0 sub cx,2 ;cx=al-2 mov dl,al mov bl,2 primetest: mov al,dl mov ah,0 div bl inc bl cmp bl,0 loopnz primetest jz notprime ; print yes notprime: ; print no


ดาวน์โหลด ppt 204221 องค์ประกอบคอมพิวเตอร์และภาษาแอสเซมบลี้ ภาควิชาวิศวกรรมคอมพิวเตอร์ มหาวิทยาลัยเกษตรศาสตร์ สัณฑิติ พัชรรุ่งเรือง จิตร์ทัศน์ ฝักเจริญผล บทที่ 10 โครงสร้าง.

งานนำเสนอที่คล้ายกัน


Ads by Google