วันพฤหัสบดีที่ 26 สิงหาคม พ.ศ. 2553

Assemble-com: lab09 onvert-num-word2char

Assemble-com: lab09 onvert-num-word2char: "Lab09 ------- ----------------------------------------------------------------- โจทย์ ถ้ามีข้อมูลชนิดเลขจำนวนเต็ม 1 เวิร์ด (2 ไบท์-16 ..."

lab09 onvert-num-word2char

Lab09


-------



-----------------------------------------------------------------

โจทย์ ถ้ามีข้อมูลชนิดเลขจำนวนเต็ม 1 เวิร์ด (2 ไบท์-16 บิท) ที่ num

จงแสดงผลออกเป็นตัวเลขฐานสิบ 5 หลักที่เป็นค่าของ num



;convert num word to 5 chars string

.data

num word 0109h

OutStr byte 5 dup (20h)

byte '$'

.code

:

:

mov di,offset OutStr

mov cx,5

mov bx,10

mov ax,num

L2:

mov dx,0

div bx



add dl,30h

mov [di],dl

dec di

loop L2



;display OutStr

:

:

---> ตรวจสอบคำตอบ ผลที่แสดงบนจอต้องเป็น 0 0 2 5 6 <---

--------------------------------------------------------------------

ท้าทาย level 1: กำหนดค่า num1 และ num2 เป็นข้อมูลชนิดเวิร์ด

ให้คำนวณหาค่า num = num1+num2

ผลที่ได้แสดงบนจอ เช่น

num1 word 260d

num2 word 132d

num word ?

OutStr byte 5 dup (20h)

byte '$'

แสดงผลเป็น 3 9 2 หรือ 0 0 3 9 2



ท้าทาย level 2: กำหนดค่า num1 และ num2 เป็นข้อมูลชนิดเวิร์ด

อ่านข้อมูลจากแป้นพิมพ์ 3 หลักเป็นจำนวนที่ 1 convert เป็นค่า num1 เช่น

ป้อนข้อมูลเป็น '1' '2' '0' ได้ค่าเป็น 120d



อ่านข้อมูลจากแป้นพิมพ์ 3 หลักเป็นจำนวนที่ 2 convert เป็นค่า num2 เช่น

ป้อนข้อมูลเป็น '0' '2' '5' ได้ค่าเป็น 25d



ให้คำนวณหาค่า num = num1+num2

ผลที่ได้แสดงบนจอ เช่น

num1 word ?

num2 word ?

num word ?

แสดงผลเป็น 1 4 5 หรือ 0 0 1 4 5



***การ convert จาก input string ให้เป็นเลขจำนวน (convert to num)

ดูได้จากเว็บ 172.17.2.5 ***



หมายเหตุ คำสั่งคูณ MUL BL หมายถึงคูณค่าใน AX ด้วย BL

ผลลัพธ์เก็บไว้ที่ AX



คำสั่งคูณ MUL BX หมายถึงคูณค่าใน AX ด้วย BX

ผลลัพธ์เก็บไว้ที่ AX เมื่อ CF=0(หรือ DX:AX เมื่อ CF=1)



คำสั่งหาร DIV BX หมายถึงหารค่าใน AX ด้วย BX

ผลลัพธ์เก็บไว้ที่ AX เศษเก็บไว้ที่ DL



คำสั่งหาร DIV BL หมายถึงหารค่าใน AX ด้วย BL

ผลลัพธ์เก็บไว้ที่ AL เศษเก็บไว้ที่ AH



ตัวอย่างโปรแกรม

-------------------------------------------------------------------------------

.model small

.data

msg1 byte 0ah,0dh,"input string num1:"

instr1 byte 4 dup (20h)

byte 0ah,0dh,"$"

msg2 byte 0ah,0dh,"input string num2:"

instr2 byte 4 dup (20h)

byte 0ah,0dh,"$"

num1 word 0

num2 word 0

num word 0

result byte "result is "

outstr byte 5 dup (20h)

byte "$"





.code

main proc

mov ax,@data

mov ds,ax

mov di,offset instr1

call GetInp

mov dx, offset msg1

call DispOut



:

:

;convert to num word

:



mov di,offset instr2

call GetInp

mov dx, offset msg2

call DispOut





:

:

;convert to num word

:



mov ax,num1

add ax,num2

mov num,ax



call ConvOutstr

mov dx,offset result

call DispOut



mov ax,4c00h

int 21h

main endp

;----------------------------------------------------------------

GetInp proc ;get 4 digit input from k/b

mov cx,4

L1:

mov ah,1

int 21h

mov [di],al

inc di

loop L1



ret

GetInp endp

;-----------------------------------------------------------------

ConvertNum proc ;convert input string to Num word

:

:



ret

ConvertNum endp

;-----------------------------------------------------------------

ConvOutstr proc ;convert from num to output string

mov di,offset outstr

mov cx,5

mov bx,10

mov ax,num

L2:

mov dx,0

div bx

add dl,30h

mov [di],dl

dec di

loop L2



ret

ConvOutstr endp

;-----------------------------------------------------------------

DispOut proc ;display output string

mov ah,9

int 21h

ret

DispOut endp

;-----------------------------------------------------------------

end

วันอังคารที่ 24 สิงหาคม พ.ศ. 2553

java

public class array {
private int x;

public void aArray(){
int[]array1 = new int[13];
int i=0;
int l=1;
for( i = 0; l<=12; i++){
array1[i]=2*l;
System.out.println(array1[i]);
l++;
}
}

public void triple(){
int[]array2 = new int[10];
for(int i=0;i<=9;i++){
array2[i] = i*i*i;
System.out.println(array2[i]);
}
}

public void sum1(){
int sum = 0;
int[]array1 = new int[13];
int i=0;
for( i = 1; i<=12; i++){
array1[i]=2*i;
sum = sum+array1[i];
}System.out.println("SUMARRAY1 :"+sum);
}

public void sum2(){
int sum =0;
int[]array2 = new int[10];
for(int i=0;i<=9;i++){
array2[i] = i*i*i;
sum = sum+array2[i];
}System.out.println("SUMARRAY2 :"+sum);
}

public void sumArray(){

int sumIndex =0;
int[]array1 = new int[10];
int []array2 = new int[10];
int i=0;
int j=1;

for( i = 0; i<=9; i++){
array1[j]=2*j;
array2[i]=i*i*i;
sumIndex = array1[j]+array2[i];
System.out.println(sumIndex);
j++;
}
}
public void Sort(){
int[]array={14,25,7,8,19};
int i=0;
int j =4;
int swarp = 0;
for(i=0;i<=2;i++){
swarp=array[i];
array[i]=array[j];
array[j]=swarp;
j--;
}
for(int swapp=0;swapp
System.out.print(array[swapp]+" ");
}
}
}


Main



public class mainArray {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
array a = new array();
//a.aArray();
//System.out.println();
//a.triple();
//a.sum1();
//a.sum2();
//a.sumArray();
a.Sort();
}

}