CS Assembly Language Programming Period 12
Data Definition Directive operation-codedescription bytesattribute operation-codedescription bytesattribute DBDefine byte1byte DWDefine word2word DDDefine doubleword4 doubleword DQDefine quadword8 quadword DTDefine tenbytes10tenbyte
ตัวอย่าง 3.6 chardb‘A’; ASCII character 41h = 65 = b = 101q signed1db-128; smallest signed value signed2db+127; largest signed value unsigned1db0; smallest unsigned value unsigned2db255; largest unsigned value list1db10, 32, 41h, b; list1 has the same contents as list2 list2db0ah, 20h, ‘A’, 22h; list2 has the same contents as list1 countdb?; uninitilized 1 byte agesdb?,?,?,?,?; uninitilized 5 bytes rowsizedb10*20 c_stringdb“Good afternoon”,0 pascal_stringdb14,”Good afternoon”
a_long_stringdb‘This is a long string, that ‘ db‘clearly is going to take’ db“several lines to store in an “ db“assembly language program.”,0dh,0ah,0 dw0,65535; lowest and highest unsigned values dw-32768,+32767; lowest and highest signed values dw256*2 mixeddw1000h,4096,’AB’,0 db4 dup(‘ABC’); 12 bytes: “ABCABCABCABC” a_stringdb“This is a string” a_string_lengthdb$-a_string; $ is location counter
คำอธิบาย - ตรงเขตข้อมูล name จะมีหรือไม่ก็ได้ ถ้ามี เรียกว่า ตัว แปร ใช้เป็นออฟเซตของข้อมูล - initval อาจเป็น a) numeric ได้แก่ integer หรือ real สำหรับ real จะพูดถึงในบทที่ 13 a) numeric ได้แก่ integer หรือ real สำหรับ real จะพูดถึงในบทที่ 13 สำหรับ integer แยกเป็น signed กับ unsigned แบบ signed integer จะเก็บในรูปแบบ สำหรับ integer แยกเป็น signed กับ unsigned แบบ signed integer จะเก็บในรูปแบบ two complement two complement unsigned integer signed integer unsigned integer signed integer operation code ค่าต่ำสุด สูงสุด ค่า ต่ำสุด สูงสุด operation code ค่าต่ำสุด สูงสุด ค่า ต่ำสุด สูงสุด db db dw เก็บแบบ little endian dw เก็บแบบ little endian
b) charter หรือ string เขียนอยู่ภายในเครื่องหมาย ‘ ‘ ถ้ามี ‘ เป็นอักขระข้างในต้องเขียนสองตัวติดกัน แทน หนึ่งตัว เช่น ‘I’’m’ ‘ ‘ ถ้ามี ‘ เป็นอักขระข้างในต้องเขียนสองตัวติดกัน แทน หนึ่งตัว เช่น ‘I’’m’หรือ “ “ ถ้ามี “ เป็นอักขระข้างในต้องเขียนสองตัว ติดกัน แทน หนึ่งตัว เช่น “I””m” “ “ ถ้ามี “ เป็นอักขระข้างในต้องเขียนสองตัว ติดกัน แทน หนึ่งตัว เช่น “I””m” c) นิพจน์ค่าคงที่ c) นิพจน์ค่าคงที่ ด้วยตัวดำเนินการเรียงจาก precedence สูงไปต่ำ ดังนี้ ตัวดำเนินการความหมาย associative ()parentheses +, -unary plus, minus right *, /, mod multiply, divide, modulo left *, /, mod multiply, divide, modulo left +, -binary plus, minusleft