1.คัดลอกค่าแฟลก CF,PF,AF,ZF และ SF ไปเก็บไว้ในรีจิสเตอร์ AH
2.นำค่าจากรีจิสเตอร์ AH ไปเก็บไว้ใน แฟลกรีจิสเตอร์
3.กำหนดให้ตารางมีค่า 77,34,89,98,17,66,55,21,49,16 ให้นำค่าตำแหน่งที่ 0 และ 7 จากตารางมาไว้ในรีจิสเตอร์ AL
วันพุธที่ 26 มิถุนายน พ.ศ. 2556
วันอังคารที่ 25 มิถุนายน พ.ศ. 2556
Assembly : PUSH , POP
stseg segment para stack
db 64 dup('0');
sttop label word
stseg ends
dtseg segment
dtseg ends
cdseg segment
main proc far
assume cs:cdseg,es:dtseg,ds:dtseg,ss:stseg
mov ax,dtseg
mov ds,ax
mov ax,stseg
mov ss,ax
lea sp,sttop
mov ax,18
mov bx,33
push ax
push bx
pop cx
pop dx
mov ah,4ch
int 21h
main endp
cdseg ends
end main
db 64 dup('0');
sttop label word
stseg ends
dtseg segment
dtseg ends
cdseg segment
main proc far
assume cs:cdseg,es:dtseg,ds:dtseg,ss:stseg
mov ax,dtseg
mov ds,ax
mov ax,stseg
mov ss,ax
lea sp,sttop
mov ax,18
mov bx,33
push ax
push bx
pop cx
pop dx
mov ah,4ch
int 21h
main endp
cdseg ends
end main
วันจันทร์ที่ 24 มิถุนายน พ.ศ. 2556
PHP : random ตัวเลข n หลัก
function _generateRandom($length=6)
{
$_rand_src = array(array(48,57));
srand ((double) microtime() * 1000000);
$random_string = "";
for($i=0;$i<$length;$i++){
$i1=rand(0,sizeof($_rand_src)-1);
$random_string .= chr(rand($_rand_src[$i1][0],$_rand_src[$i1][1]));
}
return $random_string;
}
นำใช้
echo _generateRandom(); // 6 หลัก
echo _generateRandom(10); // 10 หลัก
{
$_rand_src = array(array(48,57));
srand ((double) microtime() * 1000000);
$random_string = "";
for($i=0;$i<$length;$i++){
$i1=rand(0,sizeof($_rand_src)-1);
$random_string .= chr(rand($_rand_src[$i1][0],$_rand_src[$i1][1]));
}
return $random_string;
}
นำใช้
echo _generateRandom(); // 6 หลัก
echo _generateRandom(10); // 10 หลัก
วันอาทิตย์ที่ 23 มิถุนายน พ.ศ. 2556
Assembly : โครงสร้างโปรแกรมภาษาแอสเซมบลี แบบยาว
stseg segment para stack
db 64 dup('0');
sttop label word
stseg ends
dtseg segment
; ----สำหรับกำหนดตัวแปร----
dtseg ends
cdseg segment
main proc far
assume cs:cdseg,es:dtseg,ds:dtseg,ss:stseg
mov ax,dtseg
mov ds,ax
mov ax,stseg
mov ss,ax
lea sp,sttop
; /*--------- ใส่ Code Program---------*/
mov ah,4ch
int 21h
main endp
cdseg ends
end main
db 64 dup('0');
sttop label word
stseg ends
dtseg segment
; ----สำหรับกำหนดตัวแปร----
dtseg ends
cdseg segment
main proc far
assume cs:cdseg,es:dtseg,ds:dtseg,ss:stseg
mov ax,dtseg
mov ds,ax
mov ax,stseg
mov ss,ax
lea sp,sttop
; /*--------- ใส่ Code Program---------*/
mov ah,4ch
int 21h
main endp
cdseg ends
end main
ป้ายกำกับ:
ภาษาแอสเซมบลี,
Assembly
วันพฤหัสบดีที่ 20 มิถุนายน พ.ศ. 2556
Assembly : การติดตั้ง editplus สำหรับเขียนภาษาแอสแซมบลี
1. ก่อนอื่นเราต้องไปโหลดโปรแกรม editplus ที่เว็บนี้ก่อน http://www.editplus.com ติดตั้งให้เรียบร้อย (ผู้เขียนใช้เวอร์ชั่น Editplus 3.51)
2. จากนั้นโหลดไฟล์ที่ทำให้ code ที่เราเขียนมีสี คลิกที่นี่ (Google Drive) แตกซิบไปไว้ที่ C:\Program Files (x86)\EditPlus 3 หรือที่ๆเราติดตั้ง EditPlus
แนะนำให้ไว้ที่เดียวกันกับที่ติดตั้ง EditPlus เพราะจะได้ไม่เผลอไปลบไฟล์
3. โหลดโปรแกรมสำหรับคอมไพภาษาแอสแซมบลี TASM คลิกที่นี่ (Google Drive)นำไปแตกไว้ที่ drive c ให้เรียบร้อย
เมื่อเตรียมไฟล์ต่างๆเรียบร้อยแล้วเรามาตั้งค่าโปรแกรมกันเลย
1. เปิดโปรแกรม EditPlus แล้วไปที่เมนู Tools->Preferences แล้วคลิก Settings&syntax จากนั้นคลิกที่ Add ดังภาพ

2. เมื่อคลิกที่ Add แล้วให้ใส่ asm เป็นการตั้งชื่อให้มันว่าเป็นไฟล์ประเภทไหนจะตั้งอะไรก็ได้อาจจะตั้งเป็น Assembly อันนี้ก็แล้วแต่ชอบ

3.เป็นการใส่นามสกุลไฟล์ว่าจะให้แสดง code สีในนามสกุลอะไรเอาก็ใส่ asm ไปเลย

4. ตอนไปเป็นการนำไฟล์ Syntax ที่เราโหลดมาเอาเข้าไปในโปรแกรม ช่องที่ 1 ให้ browse ไปหาไฟล์ masm.stx ช่องที่ 2 ไฟล์ masm.acp ตามลำดับจากนั้นกด OK เป็นอันเสร็จสิ้นการตั้งค่าให้ Editplus

การ Compile ให้เข้า DosBox อันนี้ไม่ขอพูดถึงนะครับ จริงๆแล้วอยากนำเสนอการตั้งค่า Editplus มาช่วยในการ Compile จากตัวโปรแกรม Editplus เลยแต่ด้วยตัวโปรแกรม TASM ไม่สามารถรันบน Window ในเครื่องปัจจุบันได้ด้วยเหตุผลที่ว่าเราเข้ากันไม่ได้ - -"
ใช้คำสั่ง
C:\TASM\BIN>tasm filename.asm
C:\TASM\BIN>tlink filename
เพิ่มเติมสำหรับการโหลดโปรแกรมใน Google Drive (จะต้องมี e-mail ของ Google ในการ Login)ให้คลิกที่เมนูไฟล์แล้วเลือกดาวน์โหลด

2. จากนั้นโหลดไฟล์ที่ทำให้ code ที่เราเขียนมีสี คลิกที่นี่ (Google Drive) แตกซิบไปไว้ที่ C:\Program Files (x86)\EditPlus 3 หรือที่ๆเราติดตั้ง EditPlus
แนะนำให้ไว้ที่เดียวกันกับที่ติดตั้ง EditPlus เพราะจะได้ไม่เผลอไปลบไฟล์
3. โหลดโปรแกรมสำหรับคอมไพภาษาแอสแซมบลี TASM คลิกที่นี่ (Google Drive)นำไปแตกไว้ที่ drive c ให้เรียบร้อย
เมื่อเตรียมไฟล์ต่างๆเรียบร้อยแล้วเรามาตั้งค่าโปรแกรมกันเลย
1. เปิดโปรแกรม EditPlus แล้วไปที่เมนู Tools->Preferences แล้วคลิก Settings&syntax จากนั้นคลิกที่ Add ดังภาพ
2. เมื่อคลิกที่ Add แล้วให้ใส่ asm เป็นการตั้งชื่อให้มันว่าเป็นไฟล์ประเภทไหนจะตั้งอะไรก็ได้อาจจะตั้งเป็น Assembly อันนี้ก็แล้วแต่ชอบ
3.เป็นการใส่นามสกุลไฟล์ว่าจะให้แสดง code สีในนามสกุลอะไรเอาก็ใส่ asm ไปเลย
4. ตอนไปเป็นการนำไฟล์ Syntax ที่เราโหลดมาเอาเข้าไปในโปรแกรม ช่องที่ 1 ให้ browse ไปหาไฟล์ masm.stx ช่องที่ 2 ไฟล์ masm.acp ตามลำดับจากนั้นกด OK เป็นอันเสร็จสิ้นการตั้งค่าให้ Editplus
การ Compile ให้เข้า DosBox อันนี้ไม่ขอพูดถึงนะครับ จริงๆแล้วอยากนำเสนอการตั้งค่า Editplus มาช่วยในการ Compile จากตัวโปรแกรม Editplus เลยแต่ด้วยตัวโปรแกรม TASM ไม่สามารถรันบน Window ในเครื่องปัจจุบันได้ด้วยเหตุผลที่ว่าเราเข้ากันไม่ได้ - -"
ใช้คำสั่ง
C:\TASM\BIN>tasm filename.asm
C:\TASM\BIN>tlink filename
เพิ่มเติมสำหรับการโหลดโปรแกรมใน Google Drive (จะต้องมี e-mail ของ Google ในการ Login)ให้คลิกที่เมนูไฟล์แล้วเลือกดาวน์โหลด

ป้ายกำกับ:
Assembly Language,
Editplus,
Setting
Assembly : การ debug โปรแกรมโดยเปลี่ยนข้อความข้างในโปรแกรม
ขั้นเตรียมการ
copy ไฟล์ที่คอมไพจากภาษาซีที่เป็ นนามสกุล .exe ไปไว้ที่เดียวกันกับไฟล์
- ใช้คำสั่ง debug
- กด d ไปเรื่อยๆจนเจอข้อความที่เขี ยนไว้ในภาษาซี
- จากนั้นจด address ไว้ว่าจะแก้ address ไหน
- เปลี่ยนข้อความเป็นฐาน16ไปที่ เว็บ http://easycalculation.com/ ascii-hex.php
- ช่องบนสุดกรอกข้อความที่ต้องการ
- การนำไปใช้ให้ใช้เลขในช่อง Equivalent Hex Value
ป้ายกำกับ:
debug
วันพุธที่ 19 มิถุนายน พ.ศ. 2556
OOP : ความเร่ง a = (v2-v1)/t
/*
* My home work : ridtichai borseen
*/
package hw01;
import java.util.Scanner;
public class Hw01 {
public static void main(String[] args) {
float a;
float v1;
float v2;
float t;
Scanner sc = new Scanner(System.in);
System.out.print("Input V1 =>");
v1 = sc.nextFloat();
System.out.print("Input V2 =>");
v2 = sc.nextFloat();
System.out.print("Input T =>");
t = sc.nextFloat();
a = (v2-v1)/t;
System.out.println("A = (V2-V1)/T");
System.out.println(a+" = ("+v2+"-"+v1+")/"+t);
}
}
* My home work : ridtichai borseen
*/
package hw01;
import java.util.Scanner;
public class Hw01 {
public static void main(String[] args) {
float a;
float v1;
float v2;
float t;
Scanner sc = new Scanner(System.in);
System.out.print("Input V1 =>");
v1 = sc.nextFloat();
System.out.print("Input V2 =>");
v2 = sc.nextFloat();
System.out.print("Input T =>");
t = sc.nextFloat();
a = (v2-v1)/t;
System.out.println("A = (V2-V1)/T");
System.out.println(a+" = ("+v2+"-"+v1+")/"+t);
}
}
สมัครสมาชิก:
ความคิดเห็น (Atom)