{"author_name":"tanakaBox","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Fboxnos.hatenablog.com%2Fentry%2F20070109%2F1168345010\" title=\" \u30d6\u30fc\u30c8\u8003 - \u30dc\u30af\u30ce\u30b9\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>","blog_title":"\u30dc\u30af\u30ce\u30b9","version":"1.0","published":"2007-01-09 21:16:50","provider_url":"https://hatena.blog","categories":["\u30dc\u30af\u30ce\u30b9","GCC"],"url":"https://boxnos.hatenablog.com/entry/20070109/1168345010","height":"190","author_url":"https://blog.hatena.ne.jp/tanakaBox/","blog_url":"https://boxnos.hatenablog.com/","provider_name":"Hatena Blog","type":"rich","title":" \u30d6\u30fc\u30c8\u8003","description":"\u73fe\u5728\u306e\u30d6\u30fc\u30c8\u30bd\u30fc\u30b9\u3002 bits 16 org 0x7c00 section .text main: mov si,hello call print jmp halt ; void print(char *si) print: .start mov al, [si] inc si cmp al, 0 je .end call put jmp .start .end: ret ; void put(char al) put: mov bx, 15 ; \u30ab\u30e9\u30fc\u30b3\u30fc\u30c9\u306e\u6307\u5b9a(\u5148\u306b\u6307\u5b9a\u3057\u305f\u65b9\u304c\u3088\u3055\u3052) mov ah, 0x0e ; 1\u6587\u5b57\u8868\u793a int 0x10 ; BIOS\u30b3\u30fc\u30eb ret ; halt \u2026","image_url":"https://images-fe.ssl-images-amazon.com/images/I/41DH38FXY4L._SL160_.jpg","width":"100%"}