ช่วยทำการบ้านภาษา Assembly หน่อยครับ

เริ่มโดย *~เก้าคุง~*, 26 กรกฎาคม 2010, 02:41:21

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

*~เก้าคุง~*

เห็นมีคนถามการบ้านภาษาซี ผมเลยเอามั้ง จะมีคนเขียนเป็นหรือป่าวก็ไม่รู้  :'(
คือง่ายๆ เลย ผมแค่อยากให้มันปริ้นตัวเลขตั้งแต่ 1-100 ออกมา แต่ผมทำเป็นแค่ 0-9 เอง เพราะ มันไม่มีรหัสแอสกี้สำหรับเลขอื่นๆ ไม่รู้มีวิธีง่ายกว่านี้มั้ย
MOV CX,10
MOV AH,02H
MOV DL,'0'
START: INC DL
            INT 21H
            LOOP START
ตอนนี้ทำเป็นแค่ประมาณนี้่อ่ะครับ จะให้มันรันเลขหลายๆ หลักทำไม่เป็นจริงๆ ไปดูเว็บฝรั่งมาก็ประมาณว่าเอา 10 ไปหาร เก็บเลขทีละหลักเอา
แค่จะปริ้นตัวเลขหลายหลัก ทำไมมันยากเย็นขนาดนี้  :'(

hooking


jiw

อือหืออออ ลืมไปนานมากแล้ว สุดยอดจริงๆ รออ่านจาก rep ล่างด้วยคน เผื่อจะฟื้นความจำ ฮาๆ

gobank01


ต้องเอา ไปหารด้วย 10 แล้วเอาค่า AH ไป + '0' จากนัน้ก็มาทำ AL ต่อจนกว่าที่ AL จะเป็น 0 ครับ

สรุปคือหารไปเรื่อยๆ จนกว่าที่ AL จะเป็น 0

ใช้ ตัวเช็คเอานะครับ JZ AL

Normaderm

 :wanwan014: :wanwan014: วิชาสุดหิน นึกในใจ ตอนนั้น แม่ม จะให้เรียนไปทำไมว้า  :P


ปล. จบมาไม่ได้ใช้จิงด้วย  :wanwan019:
[direct=https://www.facebook.com/aiunlockedvip]สอน AI[/direct]| [direct=https://aiunlock.co/]คอร์ส AI[/direct] | [direct=https://aiunlock.co/]สอน n8n[/direct]  | [direct=https://www.aiunlockinnovations.com/]สอน AI เชียงใหม่[/direct]

teerapon

ผมก็เรียนมา นะ มีcode ที่อาจารย์ให้มาเป็นตัว อย่าง ผมก็แก้ สะมันไปเลย พอเป็นนิดหน่อยแต่ต้องมีโปรแกรมตัวอย่างมาให้ดูก่อน อาสัยเป็นนักพัฒนา ครับ

*~เก้าคุง~*

อ้างถึงจาก: gobank01 ใน 26 กรกฎาคม 2010, 03:28:53

ต้องเอา ไปหารด้วย 10 แล้วเอาค่า AH ไป + '0' จากนัน้ก็มาทำ AL ต่อจนกว่าที่ AL จะเป็น 0 ครับ

สรุปคือหารไปเรื่อยๆ จนกว่าที่ AL จะเป็น 0

ใช้ ตัวเช็คเอานะครับ JZ AL

ขอบคุณครับ ผมก็นึกว่ามันมีวิธีง่ายกว่า หาร 10 T_T
ความจริงโจทย์เค้าให้ปริ้นเลข 1-100 แต่ให้ปริ้นเฉพาะจำนวนประกอบด้วย ผมอยากจะบ้าตาย ต้องหาวิธีใส่สูตรอีก

ปล.จำนวนประกอบคือ ไม่ใช่จำนวนเฉพาะ

medzmay

[direct=https://propertytrend.co]รีวิวคอนโด[/direct]
[direct=https://roadnroll.co]รีวิวรถยนต์ มอเตอร์ไซค์[/direct]
[direct=https://www.ennxo.com]ขายของมือสอง[/direct]
[direct=https://www.ennxo.com/computer/laptop]โน๊ตบุ๊คมือสอง[/direct]
[direct=https://propertytrend.co/article/the-issara-sathorn]รีวิว ดิ อิสสระ สาทร[/direct]

*~เก้าคุง~*

อ้างถึงจาก: medzmay ใน 27 กรกฎาคม 2010, 02:03:10
ภาษาสุด love ขอเหล่านักศึกษา
ลอกส่งไปแล้ว พยายามสุดความสามารถแล้ว รันได้แค่เลข 1-100
555

sleepcat

เข้าหม้อหมดไปแระ เรียนมาแล้วไม่ได้ใช้เลย  :wanwan023:

tarrekup

สู้ๆครับ  :wanwan003:


ลองดูตัวอย่างโค้ดจาก สไลด์อาจารย์ครับ


ผมลืมหมดแล้ว  :wanwan009:
แนะนำเครื่องมือ :

|||| โฮสต์ไทย ถูก & ดี   [direct=https://tinyurl.com/y29aoowv] คลิก [/direct]
|||| จดโดเมนที่ namecheap   [direct=https://bit.ly/3nuYxDM] คลิก[/direct]



*~เก้าคุง~*

อาจารย์ไม่มีโค้ดตัวอย่างมาให้ซักโปรแกรมครับ ให้นักเรียนศึกษาด้วยตัวเอง นั่งเรียนกับการบ้านเหมือนคนละวิชา
555

yosima

 :wanwan009: :wanwan009: โจทย์ข้อนี้มัน ................
ผมถามกลับ เด็กเกษตร วิทคอม ปีสาม ใช่หรือไม่  :wanwan009:

beside

;======================================
section '.data' data readable writeable
;======================================

num_fmt db '%d',100,0

;=======================================
section '.code' code readable executable
;=======================================

start:
   mov   ebx,100
    .again:
   lea   eax,[ebx-101]
   neg   eax
   ccall   [printf],num_fmt,eax
   dec   ebx
   jnz   .again
   stdcall   [ExitProcess],0

;=====================================
section '.import' import data readable
;=====================================

library kernel,'kernel32.dll',\
   msvcrt,'msvcrt.dll'

import kernel,\
       ExitProcess,'ExitProcess'

import msvcrt,\
       printf,'printf'

:wanwan044:
ถ้าเรามองว่า...วิกฤติจะมาพร้อมกับบทเรียนดี ๆ เสมอ ก็ไม่มีเหตุอันใดที่จะต้องทุกข์ใจเพราะวิกฤติ
ตรงกันข้าม ควรจะขอบคุณวิกฤติเสียด้วยซ้ำที่เกิดขึ้นมาแต่ละครั้ง ก็ช่วยทำให้เรารู้จัก สร้างภูมิคุ้มกัน
ให้แก่ชีวิต และการทำงานอย่างรอบคอบ แยบคาย และมีความเข้าใจโลกและชีวิตเพิ่มขึ้น อย่างยากที่
จะหาได้ในยามปกติ

"พระมหาวุฒิชัย วชิรเมธี"

*~เก้าคุง~*

อ้างถึงจาก: beside ใน 27 กรกฎาคม 2010, 03:02:22
;======================================
section '.data' data readable writeable
;======================================

num_fmt db '%d',100,0

;=======================================
section '.code' code readable executable
;=======================================

start:
   mov   ebx,100
    .again:
   lea   eax,[ebx-101]
   neg   eax
   ccall   [printf],num_fmt,eax
   dec   ebx
   jnz   .again
   stdcall   [ExitProcess],0

;=====================================
section '.import' import data readable
;=====================================

library kernel,'kernel32.dll',\
   msvcrt,'msvcrt.dll'

import kernel,\
       ExitProcess,'ExitProcess'

import msvcrt,\
       printf,'printf'

:wanwan044:
โหท่าน สุดยอดเลย ผมเขียนส่งไปตั้ง 200-300 บรรทัด ไม่ได้ใช้ import, printf อะไรเลย ไม่รู้จัก สงสัยต้องไปศึกษาเพิ่มซะแล้ว
อ้างถึงจาก: yosima ใน 27 กรกฎาคม 2010, 02:40:22
:wanwan009: :wanwan009: โจทย์ข้อนี้มัน ................
ผมถามกลับ เด็กเกษตร วิทคอม ปีสาม ใช่หรือไม่  :wanwan009:
ใช่แล้วครับ เรียนอยู่เหรอ 55

ซาเล้ง

Assembly กำลังจะได้เรียน  ไปถึงเลขฐาน  :wanwan035:

ดันเปลี่ยนไปจับประแจ+น้ำมันเครื่องอย่างเดิม  เลยไม่รู้ซะงั้น  :-X
หยุดทุกอย่าง....